groovy - Groovy:字符串到浮点数的转换
问题描述
使用下面的代码来保存浮点值
domainInstance.standardScore = params["standardScore"] as float
在这种情况下,我的输入为17.9,在 db2 数据库中保存为17.899999618530273但我想自己保存为 17.9,让我知道该怎么做
解决方案
您不能在 Java 中将精度设置为 aFloat
或Double
。你需要使用BigDecimal
.
domainInstance.standardScore = new BigDecimal(params["standardScore"]).setScale(1, BigDecimal.ROUND_HALF_UP);
该方法BigDecimal.setScale(1, ...)
仅将小数限制为一位。第二个参数是舍入策略。