我有一个函数可以将BigDecimal转换为字符串加上货币。当我使用它时,数字(例如34)变成一个有很多小数的数字(例如34.000000)。
我该怎么做才能解决这个问题,只显示34?
这是我的功能:
row.put("Money", GcomNullPointerValidator.isNullField(formatUtils.formatCurrency(MoneyDto.getAmount().stripTrailingZeros())));
答案 0 :(得分:0)
语言是什么? Java的? 如果你只想在"之前保留数字,你可以使用String的split()函数。" :
String mystring = "34.000000";
String correctstring[] = mystring.split(".");
System.out.println(correctstring[0]);
// display : 34
它将删除"。" 之后的所有数字!
答案 1 :(得分:0)
在将BigDecimal转换为String的方法中,可以使用BigDecimal.setScale()来设置小数点后的位数。例如:
BigDecimal d = new BigDecimal("34.000000");
BigDecimal d1 = d.setScale(2, BigDecimal.ROUND_HALF_UP); // yields 34.00
BigDecimal d2 = d.setScale(0, BigDecimal.ROUND_HALF_UP); // yields 34