-より転載 https://www.cnblogs.com/gitkoot/p/5433273.html
バグB2Bプロジェクトを扱うと私は税の価格を背景にアイテムを投稿することがわかったが、実際にそのよう12345666661E10が含まれている今日では、String型パス過去のものであり
このような背景を扱われていない場合は、そのデータベースフィールドでの問題は確かにあります。
私は次のように、このアプローチのコードは取る: - これがコードから直接取られます
民間のBigDecimal totalAmount =新しいのBigDecimal(0);
新しいBigDecimalを(新しいダブル(totalAmount.doubleValue())。のtoString())
私は次のようにいくつかのプログラムは、このような大したことです確認しました:
DecimalFormat DF =新しいのDecimalFormat( "0");
ダブルD =新しいダブル( "1.2345666661E10");
System.out.println(df.format(d)参照)。
問題がある。この方法では、小数点の小数点以下の桁数の後に保持されません。
私のアプローチは、以下のような特定の詳細な小数点以下の桁を、保持することです。
BigDecimalのBigDecimalを=新しいのBigDecimal( "1.2345666666E10");
文字列結果= bigDecimal.toString()。
また、私は、プログラムコードを変更するためにオンラインになり、次のとおりです。
DecimalFormat DF =新しいのDecimalFormat();
df.setMaximumFractionDigits(2); //这里是小数位
ダブルD =新しいダブル( "1.2345666661E10");
System.out.println(df.format(d)参照)。
あなたが交換するために一緒にさまざまなアイデアを持っている場合、このプログラムは完全にテストされていません!