Java電卓をコーディングしようとしています。以下の計算しようとしたときに、いくつかのNumberFormatの例外に実行しています:2つの整数を掛け合わせるときのNumberFormatException
99.9(4x/8+k)
面白いことに、私は99.9との積は、「k」は以上である場合にのみ、99.9を配布した後、そのは私にエラーを与えていることですだから、10より大きい値。私のコードでは、式のすべての定数の合計で文字列変数をロードしようとすると、エラーが発生します。 は、ここでは、コードは次のようになります。
double constantSum = 0;
//create a stringtokenizer object and convert each token to a double as
//follows, then, add the double to constantSum
constantSum = constantSum + Double.valueOf(token);//the token comes
//from the stringtokenizer object
は、Double.valueOf(トークン)を受信する入力が 99.9と11の積である1098.900で、入力がで 千の位を四捨五入してきたことに気付きますコードで初期化されたNumberFormatオブジェクト。入力文字列の場合:スレッド「メイン」java.lang.NumberFormatExceptionで 例外:
このNumberFormatは例外ここ
を取り除く方法上の任意のアイデアは、例外がどのように見えるかの詳細です「1,098.900 「sun.misc.FloatingDecimal.parseDoubleでsun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) で (FloatingDecimal.java:110)
おかげ
あなたは間違っています、入力は '1098.900'ではなく、' 1,098.900'です。エラーメッセージを参照してください。なぜあなたはその中間値をコード内の文字列として持つことになりますか? – Andreas
[NumberFormatExceptionとは何ですか?それを修正するにはどうすればいいですか?](http://stackoverflow.com/questions/39849984/what-is-a-numberformatexception-and-how-can-i-fix-it) – xenteros