2
浮動小数点数をnn.nn文字列に正規化し、数値が範囲外の場合に特別な処理をしたいとします。 .format
は黙って5文字の幅をオーバーフロー:それは動作しません除いデータがフィールドに収まらない場合、Python .format()を例外にする方法はありますか?
try:
norm = '{:5.2f}'.format(f)
except ValueError:
norm = 'BadData' # actually a bit more complex than this
。明らかに私はnorm
の長さをチェックして、独自のValueErrorを上げることができましたが、フィールド幅のオーバーフローで例外を発生させるような書式(または古い%
書式)を強制する方法がありませんでしたか?
あなたがサンプル例を与えることによって、より明確にすることはできますか? –
何か? format(12.0) 'は' 12.00'を返しますが、 ''{:5.2f}' 'はフォーマットされた文字列の長さが1001.00を返します。データが5桁の小数点以下2桁に収まらない場合は、例外を発生させたい。 – nigel222
私はあなた自身: 'math.log10(value)> = 3.0'が数学的な方法であるかどうかを調べなければならないと思います。文字列の長さを調べる。 –