我有一个将BigDecimal转换为字符串加上货币的函数。当我使用这个号码(例如34)变成一个有很多小数的数字(例如34.000000)。从字符串中删除小数点
我能做些什么来解决这个问题,只显示34?
这里是我的功能:
row.put("Money", GcomNullPointerValidator.isNullField(formatUtils.formatCurrency(MoneyDto.getAmount().stripTrailingZeros())));
我有一个将BigDecimal转换为字符串加上货币的函数。当我使用这个号码(例如34)变成一个有很多小数的数字(例如34.000000)。从字符串中删除小数点
我能做些什么来解决这个问题,只显示34?
这里是我的功能:
row.put("Money", GcomNullPointerValidator.isNullField(formatUtils.formatCurrency(MoneyDto.getAmount().stripTrailingZeros())));
是什么语言? Java的? 如果您只想在“。”之前保留数字,则可以使用String的split()函数。 :
String mystring = "34.000000";
String correctstring[] = mystring.split(".");
System.out.println(correctstring[0]);
// display : 34
它将删除“。”后面的所有数字。!
在将BigDecimal转换为字符串的方法中,可以使用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
没有看到这些功能做什么,它将很难帮助你。 – Cheruvian