タグ

pythonと小数に関するkoma_gのブックマーク (2)

  • Pythonで小数・整数を四捨五入するroundとDecimal.quantize | note.nkmk.me

    四捨五入ではなく小数点以下の切り捨て・切り上げについては以下の記事を参照。 関連記事: Pythonで小数点以下を切り捨て・切り上げ: math.floor(), math.ceil() NumPyやpandasのround()については以下の記事を参照。 関連記事: NumPy配列ndarrayを四捨五入・偶数丸めするnp.round 関連記事: pandasで四捨五入・偶数丸め・切り捨て・切り上げ 組み込み関数round() 組み込み関数としてround()が提供されている。モジュールをインポートすることなく使える。 組み込み関数 - round() — Python 3.12.0 ドキュメント 第一引数に元の数値、第二引数ndigitsに桁数(何桁に丸めるか)を指定する。 小数を任意の桁数に丸める 浮動小数点数floatに対してround()を使う例を示す。 第二引数を省略すると整数

    Pythonで小数・整数を四捨五入するroundとDecimal.quantize | note.nkmk.me
  • プログラミングにおける数値計算はワナがいっぱい - Qiita

    普通に考えると「0.3」ですが、実際には0.3にはなりません。 正解は「0.30000000000000004」です。(値は環境によって変わる可能性があります) 数値計算の誤差を気にしない場合は問題ないのですが、そこそこ正確に数値計算を行う場合は、色々と工夫が必要です。 なので、この記事では小数計算の誤差を回避する方法についてまとめたいと思います。!(^^)! 言語はPythonなので悪しからず、、 そもそもコンピュータにおける小数点の扱いについて まず、前提として2進数における小数点の扱いについて解説します。10進数の小数を2進数に変換するためには、小数部分のみを2倍して、その結果の整数部分を使います。 例えば、「0.875」を2進数に変換する方法は下記となります。 0.875 * 2 = 1.75 (整数部分が1) # 小数部分の0.75のみ2倍する 0.75 * 2 = 1.5 (整

    プログラミングにおける数値計算はワナがいっぱい - Qiita
  • 1