2024-06-10

小数使わなければいいのに

なんか今頃になって小数丸め誤差の話が盛り上がってるんだけど

そもそもできる限り小数を使わないっていうのはプログラミングの基本でしょ

割と適当でいいものについては小数(float)を使うけど厳密なところは整数(integer)にしましょうって最初に習わないの?

例えば日本だとあんまり馴染みが無いけれど海外と金額はだいたいが小数で扱われてて

$5.3-$2.8 みたいな計算をするんだけど

このときバカ正直にfloatにしてると丸め誤差が出てしま

ところがそもそもドルじゃなくてセントにしてしまえば何も問題は起きない

システムで扱う単位セントにしておいて表示するときドルにすればいいだけ

他にも長さを入れるときメートルで入れると小数を使わないといけなくなるからミリメートルで入れる、とか

時間も秒単位だと誤差がでるからミリ秒とかマイクロ秒で入れる、とか

最小単位を決めて整数で扱うって基本じゃ無いの

精度が求められてないとかそもそも精度に意味が無い場合小数使えばよくて

まぁUnixtimeがfloatで入ってても問題無い場面はあるとは思うけどね

DecimalだとかBigDecimalだとか議論する前に本当に小数計算必要なのかよく考えて欲しい

  • COBOLなら計算最強だぞって71歳のプログラマーの再雇用じいさんが言ってる このじいさんはCOBOL使いらしいがやめさせてもらえないとか言ってる じじいの戯言だろうがな

    • そこじゃないと言われそうだけど >COBOL使い 辞めさせてもらえないということが実はあったりする。 古い地元の工場とか なんとか協会なんかの経理システムとか まあいろいろ  「大金...

      • まじで? 71歳でCOBOLしか使えないとか言ってるじいさんがそんな人気なわけなくね? このじいさん何十年もCOBOL使ってきたとか言ってるが流石に71歳のじいさんなんか会社も雇いたくなく...

        • その若手はどうやって調達するんですかね

          • 新卒雇って教えればいいじゃん 新卒ってなんでもできるっしょ?

            • もう使っても先がない COBOLをわざわざ若手に教えても 先がないから 老人最後まで頑張ってもらうことでwin-winなんだよ。

              • グリコの事件忘れたんか! COBOL使ってるような企業が新しいシステムになんかできるわけないじゃん COBOLは永久に不滅や! グリコの事件はCOBOL関係ないけど!

                • グリコは セブンティーンアイスの自販機を近所に置いて欲しい

              • COBOLはもうおしまい! もう終わった言語なんだ! 今はJavaとPythonとchatGPTとRPAだ! って47歳の部長が言ってた

        • 若手にCOBOL勉強してって言って素直に勉強するかな? 「将来性が見えない」って言って辞めてくのばかりだけど

          • 新卒採用の際にちゃんと業務内容説明しようよ

            • 100年間COBOLで戦わせるぞ こんなこと言われたら即死するよ新卒は

              • ポインタもないしわかりやすいプログラム言語だよな 全部グローバル変数だけど

                • ポインタってメモリの位置を指定するから効率的に使えるってことしか知らないけど 多用するとみんな困るから使いすぎたらしねって憎まれるぞって先輩に言われた さすがにしねはない...

                  • 仕様がころころ変わるので、効率的な処理もあっという間にクソになる ポインタは滅びなければならない

          • 銀行でCOBOL使ってんじゃないの みずほとかでやればいいんじゃない みずほって人手不足なんでしょ

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん