java中百分比计算的结果未定义
我想计算百分比,这里的数据是完全动态的java中百分比计算的结果未定义,java,database,int,percentage,Java,Database,Int,Percentage,我想计算百分比,这里的数据是完全动态的 int sample1 = 0; int total = 0; int finalValue = 0; finalValue = ((sample1*100)/total) 在这里,当有一些数据时,finalValue完全按照我想要的方式打印。但是,当数据库中的值为零时,这个简单的计算会给出一个错误。若你们在计算器中进行计算,它会说结果是未定义的。所以在这种情况下,我尝试使用if和else条件 if(sample1>0) { //exec
int sample1 = 0;
int total = 0;
int finalValue = 0;
finalValue = ((sample1*100)/total)
在这里,当有一些数据时,finalValue完全按照我想要的方式打印。但是,当数据库中的值为零时,这个简单的计算会给出一个错误。若你们在计算器中进行计算,它会说结果是未定义的。所以在这种情况下,我尝试使用if和else条件
if(sample1>0)
{
//execute code
}
else
{
//sample1 = 0;
}
这种逻辑在这里行不通。那么,什么是执行百分比计算的简单且首选的方法呢
finalValue = ((sample1*100)/total)
你正在除以零
所以你得先检查一下总数
或者,如果某些数据来自数据库,则可能为空。您应该首先检查总数 被零除是不允许的,这就是为什么它会给出一个错误
if(total != 0)
{
//execute code
}
else
{
throw (err) ; // handle the division by zero error
}
注:!=表示不等于您可以利用与int相反的double可以表示未定义的值这一事实:
int sample1 = 0;
int total = 0;
double finalValue = 0;
finalValue = ((sample1 * 100) / ((double) total));
System.out.println(finalValue);
这张照片是:
NaN
这是“不是一个数字”的缩写。请分享完整的相关代码不确定是不是我,但我不知道根据你的帖子,你的问题可能是什么。它是否真的说未定义?是什么代码产生的?这不是一个Java概念,我不是Java开发者,但你不能每0除0,所以…你需要检查,在你的情况下,总数。不是样本1逻辑不起作用是什么意思?当你尝试时,你得到了什么结果?请准确引用任何错误消息。