-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 回答