我想计算百分比,这里的数据是完全动态的。
int sample1 = 0;
int total = 0;
int finalValue = 0;
finalValue = ((sample1*100)/total)
这里有finalValue
完全按照我想要的数据打印出来。但是当数据库中的值为0(零)时,这个简单的计算就会出错。如果您在计算器中执行计算,则表示"结果未定义"。所以在这种情况下我尝试使用if and else
条件。
if(sample1>0)
{
//execute code
}
else
{
//sample1 = 0;
}
这个逻辑在这里不起作用。那么执行百分比计算的简单和首选方法是什么。
答案 0 :(得分:0)
finalValue = ((sample1*100)/total)
你除以零。
因此,您必须先检查total
。
或者,如果某些数据来自数据库,则可能是 null 。
答案 1 :(得分:0)
你应该先检查总数。
不允许除以零,这就是它给出错误的原因
if(total != 0)
{
//execute code
}
else
{
throw (err) ; // handle the division by zero error
}
注意:!=表示不等于
答案 2 :(得分:0)
您可以利用double
(而不是int
)可以表示未定义值的事实:
int sample1 = 0;
int total = 0;
double finalValue = 0;
finalValue = ((sample1 * 100) / ((double) total));
System.out.println(finalValue);
打印:
NaN
是“非数字”的缩写。