四捨五入の誤解!ExcelやPythonの計算ミスを防ぐ最新術
IT・ソフトウェア開発の現場で近年最も急速に普及したプログラミング言語がPythonだ。しかし、Webエンジニアやデータアナリストが真っ先に直面する壁が、Python標準のround()関数の挙動である。Pythonのround(2.5)を実行すると、戻り値は「3」ではなく「2」になる。これは標準ライブラリが「JIS丸め(銀行家の丸め)」を採用しているためだ。
フロントエンドでJavaScript(Math.round)を使い、バックエンドのPythonで数値を処理する場合、システム間で1円または0.1のズレが発生する。この不一致を解消しないままリリースされたECサイトでは、消費税計算やポイント還元で重大なバグを引き起こすリスクがある。正確な算数通りの四捨五入を実行するには、PythonのDecimalモジュールを利用し「ROUND_HALF_UP」を明確に指定するコード設計が不可欠だ。