どもー、しげる塾 一期生のかとうです。 を見て悲しくなった。Javaってひどい。0.1は文字列で渡さないと誤差が出るってさ。泣ける。 C#なら Console.WriteLine( 1.00M - 9M * .10M ); でOK 「Javaってかわいそうとか、ひどい」っていわれたので、BigDecimalで動作する計算式言語を作ってみたw 使い方はこんな感じ。計算式を文字列で渡してください。結果はBigDecimalで返ってきます。 System.out.println(new Calculator().eval("1 - (9 * 0.1)")); 結果はもちろん期待通りw 0.1少しはかわいくなったかなw jarファイルはこちら。 calculator-1.0.0.jar さーて、どうやって実装してるのー?と興味を思った方は続きをw Calculatorの内側 ここからはパーサの話な