我有这个问题:
float rate= (115/100);
当我做:
System.out.println(rate);
它给了我 1.0 什么...有问题吗?
我有这个问题:
float rate= (115/100);
当我做:
System.out.println(rate);
它给了我 1.0 什么...有问题吗?
115 和 100 都是整数,所以会返回一个整数。
尝试这样做:
float rate = (115f / 100f);
您正在执行整数除法(提供整数结果),然后将其存储在浮点数中。
您需要在操作中至少使用一个浮点数才能使结果成为正确的类型:
float rate = 115f / 100;
float rate= (115/100);
做以下事情:
115
1)对其进行整数除法100
得到值 1。
2) 将步骤 1) 的结果转换为浮点数。这产生值 1.0
你想要的是这样的:
float rate = 115.0/100;
或更一般地说,您想将除法的一部分转换为浮点数,无论是通过强制转换 (float)115/100 还是通过将小数点附加到两部分之一,或者这样做float rate = 115f / 100
完全取决于您并产生相同的结果。
为了使用整数执行浮点运算,您需要将至少一个操作数转换为 a float
。
例子:
int a = 115;
int b = 100;
float rate = ((float)a)/b;
float rate= (float)(115.0/100);
改为使用
放就够了float rate = 115f / 100;