我正在尝试验证大小数的精度和比例.
我希望验证一个大小数不超过10的精度或2的标度.我尝试做一个maxlength所以该值不会违反我的数据库长度限制,但也无法使其工作.有人可以指点我解决这个问题的方向吗?
tof*_*der 26
该BigDecimal课程有三种方法可能对此感兴趣:
precision(),返回未缩放值的位数(例如,对于数字123.45,返回的精度为5)scale(),当为正数时,返回小数点分隔符后面的位数(scale()可以是负数,在这种情况下,数字的未缩放值乘以10除以标度的否定值.例如,-3的标度表示未缩放的值乘以1000),stripTrailingZeros(),返回一个BigDecimal从表示中删除的所有尾随零.例如,要计算给定BigDecimalb 的精度和比例,我们可以编写类似的东西:
BigDecimal noZero = b.stripTrailingZeros();
int scale = noZero.scale();
int precision = noZero.precision();
if (scale < 0) { // Adjust for negative scale
precision -= scale;
scale = 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22314 次 |
| 最近记录: |