我需要检查从数据库(字符串)中获取的值是否为零(带有任何小数)。
以下是几个样本
0.000 - true
0 - true
0.000000 - true
0.0000000000 - true
0.0000000001 - false
0.10 - false
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉任何简单的方法来检查上述内容吗?
有不同的方法可以做到这一点。第一个问题是,为什么您String首先将这个值作为 a而不是作为 a检索BigDecimal?
要检查该值是否为 0,您可以执行以下操作:
if (new BigDecimal(string).compareTo(BigDecimal.ZERO) == 0) {
// the String is 0, whatever its scale
}
Run Code Online (Sandbox Code Playgroud)
compareTo不考虑小数的比例。然而,这会遇到内存问题,因为 String 真的很大。
另一种完全不同的方法是使用正则表达式,就像@khelwood 评论的那样。
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |