我想验证一个最大17个整数和2个分数的bigDecimal,我使用@Digits(integer=17, fraction=2)
但是这不接受1.10例如,而@DecimalMin("0.00") @DecimalMax("99999999999999999.99")
接受例如10.1234。
感谢帮助!
@Digits是要走的路。
1.10你的确切问题是什么?我不明白为什么它会被报告为无效。
使用@Digits(整数= 17,分数= 2),您允许最多2个分数,因此1.10应该没问题。如果没有,我们在某个地方有一个bug。
您的解决方案是正确的,因此必须在其他地方找到错误。例如:
new BigDecimal(1.10) // ERROR
应该
new BigDecimal("1.10")
避免双精度构造函数的原因是double值没有精度(小数小数)并且是2的幂的近似值.1.10实际上是2的无限系列(负)幂。
使用第二个构造函数,BigDecimal变为2 = 2个小数位的标度。
1.10与1.1相同,并且可能具有> 2的标度,默认标准为double。