对我来说这是漫长的一天,我不知道我是否可以做二年级数学,或者我是否在做数学方面做错了什么在java中。我不是java的新手,我大约一年半前开始,但就像我说的那样,这是漫长的一天。
这是我的代码:
System.out.println(5 / 150 * 100);
我希望得到类似" 3.3333"或者至少" 3",但我得到" 0"代替。为什么这样,我该如何解决?
答案 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);