首页 > 解决方案 > Groovy:字符串到浮点数的转换

问题描述

使用下面的代码来保存浮点值

domainInstance.standardScore = params["standardScore"] as float

在这种情况下,我的输入为17.9,在 db2 数据库中保存为17.899999618530273但我想自己保存为 17.9,让我知道该怎么做

标签: groovyfloating-point

解决方案


您不能在 Java 中将精度设置为 aFloatDouble 。你需要使用BigDecimal.

domainInstance.standardScore = new BigDecimal(params["standardScore"]).setScale(1, BigDecimal.ROUND_HALF_UP);

该方法BigDecimal.setScale(1, ...)仅将小数限制为一位。第二个参数是舍入策略。


推荐阅读