Java float无法正常运行

The*_*tMe 0 java

可能重复:
为什么(360/24)/ 60 = 0 ...在Java中

我有这个问题:

float rate= (115/100);
Run Code Online (Sandbox Code Playgroud)

当我做:

System.out.println(rate);
Run Code Online (Sandbox Code Playgroud)

它给了我1.0什么......是问题?

cow*_*wls 9

115和100都是整数,因此将返回一个整数.

试着这样做:

float rate = (115f / 100f);
Run Code Online (Sandbox Code Playgroud)

  • 比添加.0 imo更优雅的解决方案 (2认同)
  • @MarioDeSchaepmeester - 甚至超过优雅,添加.0创建一个`double`然后转换为`float`.正确的解决方案是使用`f`你真的想要一个`float`. (2认同)
  • 一个`f`就足够了. (2认同)