金額の計算をBigDecimalで!

しょぼちむLongで金額計算 BigDecimalだ!doubleだ!日本円クラスだ!Clojureだ!COBOLだ! なるほどわからん
18
前へ 1 2 ・・ 5 次へ
Yuichi Sakuraba @skrb

こういう用途にdoubleはやっぱりダメだとおもうなぁ... 桁落ちするから有効桁数が保証されないし....

2014-10-29 21:09:49
Yuichi Sakuraba @skrb

@syobochim @yusuke そこで同じになるのは、同じような価格帯のものを扱っているからであって、価格帯がぜんぜん違うものだとBigDecimalとは同じにならないです。

2014-10-29 21:12:21
山本ユースケ @yusuke

@skrb @syobochim あーあー、ほんとだ。1.08は二進数だと近似値ですね(汗)数十万数百万なら大丈夫だけどかなり高額だと誤差出てきますね

2014-10-29 21:34:48
宮川 拓 @miyakawa_taku

@yusuke @skrb @syobochim 0.08, 1.08, 0.10, 1.10 あたりは二進の浮動小数点数で正確に表せないので、100京円くらいの商品を扱うと、1円の桁に誤差が出てしまいそうです。

2014-10-29 21:34:15
Yuichi Sakuraba @skrb

@yusuke @syobochim @miyakawa_taku まぁ、そんなに高額なものをサムライズムが扱うとは考えられないから大丈夫かww

2014-10-29 21:37:16
Yuichi Sakuraba @skrb

@yusuke @syobochim @miyakawa_taku 消費税納税者になるとは、順調ですね!!

2014-10-29 21:40:42
山本ユースケ @yusuke

@eiryu @skrb @syobochim @miyakawa_taku いや、小計、合計はintで丸めてるので,誤差が積算されてくこともないので^^;

2014-10-29 21:41:57
やんく✌('ω')✌ @yy_yank

リアルに混乱するしょぼちむ

2014-10-29 21:05:52
やんく✌('ω')✌ @yy_yank

しょぼちむ財布忘れるからお金計算しても意味ない

2014-10-29 21:10:12
Toshiaki Maki @making

@syobochim Clojureだと分数つかえますよ

2014-10-29 21:10:23
うらがみ⛄ @backpaper0

よってたかってdouble使ってるとか日本円クラス作れとかClojureならーとか混乱の極みやろうなー

2014-10-29 21:16:17
だいくしー @daiksy

@syobochim 浮動小数点の誤差とか、基本情報の勉強したら学べるよ

2014-10-29 21:17:02
しょぼちむ @syobochim

@daiksy 誤差について困っていたわけではないんです><

2014-10-29 21:19:25
しょぼちむ @syobochim

いやでも、Longでもっちゃったら、もうBigDecimalの精度は得られない、っていう言語仕様をちゃんと知ってたら、もっと視野を広く型付けできたのか……。 やっぱりまず言語仕様なんですかね><

2014-10-29 21:18:06
だいくしー @daiksy

@syobochim 金利の計算で一時的に少数を扱うか、システムの内部で値のライフサイクルとして一律整数しか扱わないかで判断する感じですかねー。

2014-10-29 21:20:30
だいくしー @daiksy

@syobochim 数値の型は桁数とか精度とか、そのデータのライフサイクルによって判断するべきですなー。

2014-10-29 21:24:49
しょぼちむ @syobochim

@daiksy ちゃんと、システム全体を視野にいれないとダメなんですね><

2014-10-29 21:24:05
やんく✌('ω')✌ @yy_yank

@syobochim 真面目な話、そこまで深く考えてる人の方が少ないかもしれません。BigDecimalはセオリーとしてJavaのオッサンには広まってるので、逆に計算をそれ意外でやることを敬遠してるだけ

2014-10-29 21:18:14
前へ 1 2 ・・ 5 次へ