java中的数学问题

时间:2015-02-01 01:34:09

标签: java math

对我来说这是漫长的一天,我不知道我是否可以做二年级数学,或者我是否在做数学方面做错了什么在java中。我不是java的新手,我大约一年半前开始,但就像我说的那样,这是漫长的一天。

这是我的代码:

System.out.println(5 / 150 * 100);

我希望得到类似" 3.3333"或者至少" 3",但我得到" 0"代替。为什么这样,我该如何解决?

2 个答案:

答案 0 :(得分:1)

你的二年级数学是完全正确的。但是,5 / 150 = 0.03将变为零,因为其类型为int。然后乘以0乘以100不会改变任何东西。

使用浮动或双打,您将获得正确的结果。您使用这两个中的哪一个取决于您的需求。如果你需要一个非常精确的值(在这一点后面有3s),请使用double,因为它的名字告诉你 - 它是float精度的两倍。

答案 1 :(得分:-1)

您的所有操作数均为int值,并且会产生int值。

尝试将操作数更改为float值。

试试这个:

System.out.println(5f / 150 * 100);
System.out.println(5 / 150f * 100);