我试图将两个整数值相除以获得一个浮点值..我总是得到值0.0 ..已经尝试将这些值强制转换为浮点并且无论如何都没有机会,这是代码:

float othersFloat = (float) others;
float totalPixelsFloat = (float) totalPixels;

// this variables have the values:
// othersFloat : 621347.0
// totalPixelsFloat : 654336.0

// then I do the divison like this:

float percentage_white_on_screen = (float) othersFloat  / totalPixelsFloat;

//But I get the value 0.0


有人能帮我吗?

最佳答案

您显示给我们的代码没有错。如果输入由注释提供,则结果不应为0.0

因此,如果是这样:


实际输入没有您认为的值,
实际输出值与您认为的不同;例如您正在打印其他变量...或在此代码对其进行更改后进行的更改,或者
那不是您正在执行的代码;例如您尚未重新编译它,并且您正在运行的代码不再与源代码匹配。


如果这不能帮助您找到问题的真正原因,则需要编写SSCCE ...,以便其他人实际上可以自己重现您的问题。

09-26 23:10