您好我刚刚遇到一些遗留代码,我发现了一个Math.floor()
计算
比如Math.floor(value)*100/100
。只是我试图理解为什么他们有*100/100
,因为有了这个乘法和除法,我得到了相同的结果。
有关他们为何进行此计算的任何建议? 在什么情况下这个计算会对我有帮助?
public class DoubleTest {
public static void main(String[] args) {
double val = 6.93904587395873495873493453453453454587349458734985739487857;
System.out.println(Math.floor(val)*100/100);
System.out.println(Math.floor(val));
}
}
输出
6.0
6.0
答案 0 :(得分:8)
我的猜测是它应该是:
Math.floor(value*100)/100;
基本上将value
舍入到两位小数。
答案 1 :(得分:4)
也许这是一个错误,他们真的想要Math.floor(val*100)/100.0
?
答案 2 :(得分:0)
您发布的代码实际上什么都不做。但如果你跟随马克彼得斯的回答是完美的。如果你对它的实际情况感到困惑,那么就会发生这种情况:
Math.floor(value*100)/100;