1

文字列をリテラル double 値として解析するにはどうすればよいですか? Double.valueOf(probabilityString)私は正確に に合計する必要があることを使用して解析している一連の確率値を持っています1.0d

たとえば、double 値の結果の合計は0.999999...、確率文字列が の場合0.2, 0.5, 0.2, 0.1です。

double 値を as0.2d, 0.5d, 0.2d, 0.1dで解析したいのですが、これは可能ですか?

double[]double 値が正確に合計されない場合、引数として受け入れて例外をスローするサードパーティのライブラリを扱ってい1.0dます。

4

3 に答える 3

4

double の長さは 64 ビットのみです。実数は無限にあります。したがって、各実数を正確に 64 ビット double に表すことは不可能です。したがって、double を使用すると、常に近似結果が得られます。絶対精度が必要な場合は、BigDecimal を使用してください。

于 2012-06-07T08:16:25.740 に答える
0

Java で利用可能なBigDecimalを使用します。

このリンクを参照してください。きっと役に立ちます。

ご不明な点がございましたら、お知らせください。

于 2012-06-07T08:16:58.607 に答える
0

これを試して:

DecimalFormat df =(DecimalFormat)NumberFormat.getInstance(); 
df.setParseBigDecimal(true); 
BigDecimal bd = (BigDecimal) df.parse(probabilityString);
于 2012-06-07T08:32:17.853 に答える