6

私は問題があります。私のjspページには、金銭的価値を受け入れるテキストフィールドがあります。66777764検証エラーが6.6777764E7発生するたびに、テキストフィールドに値を入力すると。これがデータベースに保存される値に影響しないことはわかっていますが、ユーザーを誤解させたり混乱させたりすると思います。助けてください。前もって感謝します。

4

3 に答える 3

9

実際には番号をそのまま保持しているdoubleようで、取得したものが表示されます。6677776466.777764.0

DecimalFormatを使用して、必要に応じて数値の表示をフォーマットできます。次に例を示します。

double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d)); // will print 1.23

これにより、ポイント ( ) の後に 2 桁の数字が表示され66777764.00ます。形式には多くのオプションがあります。ドキュメントで情報を確認してください。

于 2012-12-19T07:49:15.350 に答える
7

BigDecimalをフォローする

BigDecimal bd = new BigDecimal(inputVal);
System.out.println(bd);
于 2012-12-19T07:56:57.027 に答える
6

BigDecimalを使用して金銭的価値を保持します。

double d = 66777764d;
BigDecimal bd = new BigDecimal(d);
System.out.println(bd);

この質問の回答を読んで、 BigDecimal を使用する理由を確認してください。

于 2012-12-19T07:52:30.077 に答える