如何将字符串转换为四舍五入到小数点后四舍五入的浮点数

时间:2019-04-03 00:44:54

标签: groovy

我有以下字符串:“ 123,456.39213212” 我想转换为浮点数,并向上舍入到小数点后第四位。

根据我使用的在线工具,我应该获得此号码:123456.3922

请告知我如何在Groovy中做到这一点?

谢谢

1 个答案:

答案 0 :(得分:0)

感觉有点,但是如果您的千位分隔符始终为,,则可以执行以下操作:

import java.math.RoundingMode

def input = "123,456.39213212"
def output = new BigDecimal(input.replaceAll(",", "")).setScale(4, RoundingMode.UP)

输出:

123456.3922

关键部分是:

  1. ""替换逗号,以使字符串具有BigDecimal可以使用的格式,并且
  2. 使用RoundingMode.UP将小数位设置为4(注意:根据您对负数的要求,您可能希望改用RoundingMode.CEILING