双重验证

问题描述 投票:0回答:1

我具有下面的json属性,其中包含数字值

 "creditLimit": "844500" 

具有以下条件:

  1. 不得超过10位数字
  2. 必须为整数,不得包含小数点

下面是示例有效输入,我要向其返回验证错误消息,并说出无效输入:

45500.00
9876543210

示例无效输入:

540.50
98765432109

当我尝试时

 Double.valueOf(ent.creditLimit).intValue() 

最终值改变,看起来像是四舍五入的值。

我不想保留小数。

如何保留确切值?在此先感谢

java casting double
1个回答
0
投票
您可以使用正则表达式进行验证,也可以将其解析为BigDecimal,然后使用intValueExact()

BigDecimal bd = new BigDecimal("540.50"); try { //number is a whole number } catch(ArithmeticException e) //number is not a whole number }

© www.soinside.com 2019 - 2024. All rights reserved.