Java 从字符串中删除小数
我有一个函数,可以将一个BigDecimal转换成一个字符串加上货币。当我使用这个数字(例如34)时,它会变成一个有很多小数的数字(例如34.000000) 我能做些什么来解决这个问题,然后只显示34 以下是我的功能:Java 从字符串中删除小数,java,format,bigdecimal,Java,Format,Bigdecimal,我有一个函数,可以将一个BigDecimal转换成一个字符串加上货币。当我使用这个数字(例如34)时,它会变成一个有很多小数的数字(例如34.000000) 我能做些什么来解决这个问题,然后只显示34 以下是我的功能: row.put("Money", GcomNullPointerValidator.isNullField(formatUtils.formatCurrency(MoneyDto.getAmount().stripTrailingZeros()))); 语言是什么?爪哇
row.put("Money", GcomNullPointerValidator.isNullField(formatUtils.formatCurrency(MoneyDto.getAmount().stripTrailingZeros())));
语言是什么?爪哇? 如果只想在“.”之前保留数字,可以使用String的split()函数:
它将删除“.”之后的所有数字 在将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
如果看不到这些函数的作用,将很难帮助您。错误。你应该避开正则表达式<代码>字符串更正字符串[]=mystring.split(“\\”)代码>@reinardhz是对的
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