System.out.println("Percentage (90): " + (_leftBranch.getHeight() / 100) * 90 + " Height: " + _leftBranch.getHeight());
给出输出:
Percentage (90): 270 Height: 359
事实上,它应该是 323.1。
谁能告诉我这里发生了什么?
你计算 90%
x * 90 / 100
或者
x * 9 / 10
或者如果溢出是一个问题
x - x / 10
如果您期望小数结果,您可以这样做
x * 0.9
或者
x * 0.90
因为计算是以整数类型完成的。
用 100.0 和 90.0 代替 100 和 90
第一部分计算结果为 3.59。但它只考虑整数部分,即 3 因此结果为 270
除以/
二integers
也将返回整数(除法的余数将被忽略)。
争取(_leftBranch.getHeight() / 100d) * 90
更好的结果。
您可以尝试以下...
System.out.println("Percentage (90): " + (_leftBranch.getHeight() / 100.0) * 90.0 + " Height: " + _leftBranch.getHeight());
你可以试试这个 -
System.out.println("Percentage (90): " + (_leftBranch.getHeight() / 100D) * 90 + " Height: " + _leftBranch.getHeight());