Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字符串中删除小数_Java_Format_Bigdecimal - Fatal编程技术网

Java 从字符串中删除小数

Java 从字符串中删除小数,java,format,bigdecimal,Java,Format,Bigdecimal,我有一个函数,可以将一个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())));

语言是什么?爪哇? 如果只想在“.”之前保留数字,可以使用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