2011-01-14 2 views
3

を作り出す "1.7023484830876092"Long.parseLong( "あまりにも大きなdigitstringは")私はjava.lang.NumberFormatExceptionを得るjava.lang.NumberFormatException

を1.70234に文字列をトリミング、問題を解決しません私は文字列を自分自身をスライスする前に、ターゲットオブジェクトの容量を活用するためにいくつかのJavaメソッドを使用できるかどうか疑問に思っています。

種類については、 jeroenです。

+0

DoubleまたはFloatを試しましたか? –

+0

ロケールの浮動小数点区切り記号とは何ですか? – thkala

答えて

1

フロートのようです。特に最初の "。"唯一のものです。

1

あなたはおそらくのBigDecimalをしたいですか?それは、あなたが記憶を持っている限り、任意の数に適応するように可変サイズです。 new BigDecimal(stringNumber)として使用してください。欠点は、標準の中置演算子(例えば、+ - */etc ...)にアクセスできないことです。

しかし、あなたはちょうどあなたがLong.parseLongとの浮動小数点値を解析することはできませんLong.MAX_VALUE

+2

質問には10進表現の数字が含まれているので、BigIntegerではなくBigDecimalでなければなりません。 – fasseg

+0

BigDecimalは実際にはより良い選択肢になります。 – Dunes

1

を使用し、その後、プリミティブによって保持させることができる最大値をしたい場合。代わりにDouble.parseDoubleを使用してください。

関連する問題