我有以下字符串:“ 123,456.39213212” 我想转换为浮点数,并向上舍入到小数点后第四位。
根据我使用的在线工具,我应该获得此号码:123456.3922
请告知我如何在Groovy中做到这一点?
谢谢
答案 0 :(得分:0)
感觉有点,但是如果您的千位分隔符始终为,
,则可以执行以下操作:
import java.math.RoundingMode
def input = "123,456.39213212"
def output = new BigDecimal(input.replaceAll(",", "")).setScale(4, RoundingMode.UP)
输出:
123456.3922
关键部分是:
""
替换逗号,以使字符串具有BigDecimal
可以使用的格式,并且RoundingMode.UP
将小数位设置为4(注意:根据您对负数的要求,您可能希望改用RoundingMode.CEILING
)