-1

次のようなカンマ区切り文字で数値を示す文字列があります。

DecimalFormat formatter = new DecimalFormat("#,###.000000");
String toDouble=formatter.format(amount);

ここで、算術演算を行うためにBOクラスのコンマを削除したいと思います。私はこのフォーマットを使用しました:

StrCash_price_deal = StrCash_price_deal.replace(",", "");
double d = Double.valueOf(StrCash_price_deal.trim()).doubleValue();

しかし、それは値をゼロに変更します!!! 私の技術はstruts2です

4

1 に答える 1

5

値のフォーマットDecimalFormatに使用しているがあります。を使用する代わりに、同じオブジェクトを使用して値を解析します。Double.valueOf

さらに:

  • 可能な限り、フォーマット/解析サイクルを避けるようにしてください。値をコードベースのほぼ全体の数値として保持し、プレゼンテーション用にフォーマットし、ユーザー入力用に解析するだけにします
  • double通貨の値には使用しないでください。BigDecimal「不正確な」算術に関してあなたが得る驚きを減らす使用
  • 可能な限り、Javaの命名規則に従ってください。StrCash_price_dealケーシングとアンダースコアの両方でひどいです
于 2012-08-16T08:21:58.810 に答える