为什么这个Java计算不返回浮点值?

时间:2013-03-21 10:36:35

标签: java floating-point

只是想知道

float percent = 1 + (25/100); // percent value is 1.0 and not 1.25

结果给出1而不是1.25

由于 Saikat

2 个答案:

答案 0 :(得分:2)

你正在进行整数除法。让编译器知道你试图通过explicilty进行浮动除法,使你的一个操作数成为浮点字面值。您可以通过将F或f附加到数字或通过将.0附加到数字来制作浮点文字。

25---> int literal
25.0---> float literal
25F----> float literal
25f----> float literal

float percent = 1 + (25F/100)

答案 1 :(得分:2)

我认为这是因为Java看起来像这样:

(int) 1 + ( (int)25/ (int)100) = (int) 1

然后将它存储到浮动中。尝试使用25.0代替25