浮動小数点値を特定の小数点以下の桁数に切り捨てる方法
Python では、浮動小数点から数字を削除して固定値を実現できます。小数点以下の桁数。次の例を考えてみましょう。
1.923328437452 → 1.923
浮動小数点数を小数点以下 3 桁で切り捨てると、望ましい出力は 1.923 になります。
解
関数以下はこのタスクを実行します。
def truncate(f, n): '''Truncates/pads a float f to n decimal places without rounding''' s = '{}'.format(f) if 'e' in s or 'E' in s: return '{0:.{1}f}'.format(f, n) i, p, d = s.partition('.') return '.'.join([i, (d+'0'*n)[:n]])
説明
この関数は、浮動小数点数を文字列表現に変換し、整数部分と小数点の 3 つの部分に分割します。 、小数部分。次に、指定された小数点以下の桁数まで小数部分にゼロを埋め込み、余分な桁が切り捨てられるようにします。
科学表記の処理
関数は次のことを確認します。 float は科学表記法 (e または E) で表され、指数を保持するために異なる形式の関数が使用されます。
古い Python バージョン
2.7 より前の Python バージョンの場合場合でも、浮動小数点を切り捨てることはできますが、浮動小数点書式設定メカニズムの制限により、結果はそれほど正確ではない可能性があります。考えられる回避策は、切り捨てる前に float をより高い精度に丸めることです。
def truncate(f, n): '''Truncates/pads a float f to n decimal places without rounding''' s = '%.12f' % f i, p, d = s.partition('.') return '.'.join([i, (d+'0'*n)[:n]])
以上がPythonで浮動小数点値を四捨五入せずに特定の小数点以下の桁数に切り捨てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。