Python で浮動小数点数を特定の有効数字に丸めるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-12 13:05:02
オリジナル
901 人が閲覧しました

How can I round floating-point numbers to a specific number of significant figures in Python?

Python で数値を有効数字に丸める

ユーザー インターフェイスで浮動小数点数を表示する場合、浮動小数点数を次のように丸めることが望ましい場合があります。指定された有効数字の数。ここでは、Python の組み込み関数とカスタム コードを使用してこれを実現する方法を説明します。

負の指数の使用

整数を特定の 10 の累乗に丸めるには、負の指数を使用できます。 。たとえば、1234 を 1,000 の位に四捨五入するには、次を使用できます。

round(1234, -3)
ログイン後にコピー

これにより、1000.0 が得られます。

四捨五入用のカスタム関数

浮動小数点数を特定の有効数字に丸めるために、カスタム関数を定義できます。次のコードは、数値を有効数字 1 桁に丸めるround_to_1 という関数を定義します。

from math import log10, floor

def round_to_1(x):
    return round(x, -int(floor(log10(abs(x)))))
ログイン後にコピー

ここでは、log10 関数を使用して x の大きさの次数を決定します。結果の指数部は、floor を使用して切り捨てられ、この値の否定がround 関数に渡され、実質的に 10 乗に丸められます。

使用例

round_to_1 関数を使用すると、次のように数値を丸めることができます。

round_to_1(0.0232)  # returns 0.02
round_to_1(1234243)  # returns 1000000.0
round_to_1(13)  # returns 10.0
round_to_1(4)   # returns 4.0
round_to_1(19)  # returns 20.0
ログイン後にコピー

注:

丸められた数値が 1 より大きい場合は、整数に変換する必要がある場合があります。

以上がPython で浮動小数点数を特定の有効数字に丸めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート