BigDecimal()を使用してStringをBigDecimalに変換しようとすると、 '45e57'のような文字列は4.5E + 57に変換されます。Stringに 'e'が含まれている場合に文字列をBigDecimalに変換するJava
//」は、テキストが「e」を含んでいる場合、今、私はエラーを投げていますのよう
BigDecimal textToBigDecimal = null;
try
{
if (!textToBigDecimal.contains("e") && !textToBigDecimal.contains("E"))
{
textToBigDecimal = new BigDecimal(text);
}
}
catch (NumberFormatException ignored)
{
}
入力する「テキスト」を前提としています。私はチェックをスキップする回避策があるのだろうかと思います。文字列に数字だけを変換する必要があります。文字列に他の文字が含まれている場合は、変換が行われません。
私は理解できなかった、何が問題ですか?あなたはあなたのコードとあなたが得るすべての例外の完全なスタックトレースを共有できますか? – BackSlash
あなたが何を求めているのかははっきりしていません。特に「例外をスローしないでください」ということは、例外をスローすることを望んでいるのですか? [mcve]は、あなたを助けることをはるかに容易にします。 –
'新しいBigDecimal(" 45e57 ")'は4.5E + 58に変換されますが正しいです!何を防止したいですか?達成するものは何ですか? – Harmlezz