因此,如果我有一个数字范围“0 - 1024”并且我想将它们带入“0 - 255”,那么数学将要求将输入除以输入的最大值(在这种情况下为 1024)这会给我一个介于 0.0 - 1.0 之间的数字。然后将其乘以目标范围 (255)。
这是我想做的事!
但由于某种原因在 Java 中(使用处理)它总是会返回一个值 0。
代码就这么简单
float scale;
scale = (n/1024) * 255;
但我只得到 0.0。我试过 double 和整数。一切都无济于事。为什么!?
最佳答案
因为你在做整数除法。
除以 double 或 float ,它会起作用:
double scale = ( n / 1024.0 ) * 255 ;
或者,如果你想要它作为一个 float ,
float scale = ( n / 1024.0f ) * 255 ;
关于java - 为什么将 float 除以整数返回 0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3779604/