はてなキーワード: BigDecimalとは
※架空言語、という事にしておいてほしいんだが
List<Record> rows = DBから持ってくる(); // 合計金額を求める String total = "0"; for (Record r : rows) { BigDecimal temp = BigDecimal.parse( カンマを削除する関数(total) ); BigDecimal temp2 = temp + r.金額; total = カンマ区切りの文字列にする関数(temp2); } // やったー合計金額を計算してカンマ区切りの文字列にできたよー return total;
とか
// async await は非同期処理を同期してくれる魔法の言葉だって!よく知らんけど await axios.get('/foo') .then(function(result) { // やったー結果が得られたよー });
とか
正直なところ、こういうコードのお守りするの、そろそろキツい。。。
ビッグで絞まる*^_^*
BigDecimal result = new BigDecimal("100000").multiply(new BigDecimal("99999.55")).add(new BigDecimal("3333333333"));
BigDecimal result = BigDecimal("100000") * "99999.55" / "3333333333";
http://d.hatena.ne.jp/j5ik2o/20091024/1256369305 の
// 1.0 - 9 * 0.1 BigDecimal b1 = new BigDecimal(1.0); BigDecimal b2 = new BigDecimal(-9); BigDecimal b3 = new BigDecimal("0.1"); BigDecimal result = b1.add(b2.multiply(b3)); System.out.println(result.toString());
を見て悲しくなった。Javaってひどい。0.1は文字列で渡さないと誤差が出るってさ。泣ける。
C#なら
Console.WriteLine( 1.00M - 9M * .10M );
でOK