在Spring中使用double值进行validation

我想检查有价值的分数:0.00 <=值<= 10.00
我用了:
-model(分数):

@Range(min = (long) 0.0, max = (long) 10.0) private double score; 

-messages.properties:

 Range.score.score=Please input 0<= score <=10 

-servlet-context.xml中:

     

但是值= 10.01已通过检查。
请帮帮我。

我解决了我的问题:

  @DecimalMax("10.0") @DecimalMin("0.0") private double score; 

非常感谢@ Kayaman,@ hyness

有两个问题。 第一个问题是您尝试在注释的属性中指定数据类型。 您也不需要指定数据类型或分数,此注释仅采用整数。

此外,正如许多其他人所指出的那样,双精度和浮点数不允许舍入错误,因此您需要使用BigDecimal而不是double。 BigDecimal有一个doubleValue()方法来将值作为double。

 @Range(min = 0, max = 10) private BigDecimal score;