Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我需要使用float/double时,如何在Spring中准确地验证表单输入?_Java_Html_Spring_Spring Boot_Thymeleaf - Fatal编程技术网

Java 当我需要使用float/double时,如何在Spring中准确地验证表单输入?

Java 当我需要使用float/double时,如何在Spring中准确地验证表单输入?,java,html,spring,spring-boot,thymeleaf,Java,Html,Spring,Spring Boot,Thymeleaf,我正试着让我的头脑在SpringBoot周围,所以我正在开发一个小概率计算器应用程序。我的应用程序需要使用double或float进行计算,而且Spring似乎没有一种简单的方法来验证这些数据类型。现在,我似乎可以将double变量更改为BigDecimal,我尝试过了,但后来我遇到了另一个问题,因为我正在处理对数,很快就发现使用BigDecimal进行任何类型的计算都会导致大量不必要的代码 真的没有简单的方法来验证双精度和浮点数吗?如果要验证十进制数,可以使用以下代码 @DecimalMin(

我正试着让我的头脑在SpringBoot周围,所以我正在开发一个小概率计算器应用程序。我的应用程序需要使用double或float进行计算,而且Spring似乎没有一种简单的方法来验证这些数据类型。现在,我似乎可以将
double
变量更改为
BigDecimal
,我尝试过了,但后来我遇到了另一个问题,因为我正在处理对数,很快就发现使用
BigDecimal
进行任何类型的计算都会导致大量不必要的代码


真的没有简单的方法来验证双精度和浮点数吗?

如果要验证十进制数,可以使用以下代码

@DecimalMin(value = "0.1", inclusive = true)
@DecimalMax(value = "9.9", inclusive = true)
private BigDecimal measurement;

请更详细地解释您的“验证”包括哪些内容。(请注意,在许多常见情况下,例如处理货币问题时,无论如何都不应该使用浮点,而JSR 354 money之类的东西最终会看起来非常像
BigDecimal
)@chrylis-小心光学-我真的只需要验证这些值是否在一定范围内。如果它有用的话,它是一个应用程序,用来估算你在一个Gacha游戏中要花多少钱才能得到你想要的东西。您输入物品掉落概率,作为0-1的概率,然后它会告诉您必须“掷骰子”多少次,以便至少获得一次物品的概率接近100%。金钱的双倍就是从游戏中货币的美元到x的转换率,这样就可以显示它可能需要多少钱。任何金融计算都使用BigDecimal
@Min
@Max
仅限于整数范围,但可用于浮点值。