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逻辑不起作用是什么意思?当你尝试时,你得到了什么结果?请准确引用任何错误消息。