java-计算数学楼层
您好,我刚遇到一些遗留代码,我是否找到了一个java-计算数学楼层,java,Java,您好,我刚遇到一些遗留代码,我是否找到了一个Math.floor()calculation 比如数学地板(值)*100/100。我只是想弄明白为什么他们会有100/100,因为无论有没有乘法和除法,我都会得到相同的结果 有没有关于他们为什么要这样计算的建议? 在什么情况下,这种计算会对我有帮助 public class DoubleTest { public static void main(String[] args) { double val = 6.939045873958734
Math.floor()
calculation
比如数学地板(值)*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
我猜它应该是:
Math.floor(value*100)/100;
这实际上是将
值
四舍五入到小数点后两位。也许这是个错误,他们真的想要Math.floor(val*100)/100.0
?你发布的代码实际上什么都没有做。但如果你遵循马克·彼得斯的答案,那就太完美了。如果您对它的实际功能感到困惑,那么会发生以下情况:
Math.floor(value*100)/100;
它可能是打字错误,可能是作者想要的
Math.floor(val*100)/100
,或者它最初不是来自JAVA,并且100
操作是针对整数的。。。有时候,sign*absfloor
是这样做的(也有两个位置)。如果这真的是一个拼写错误,就像公认的答案所暗示的那样,那么我想知道为什么之前没有人注意到它。“难道没有任何测试来证明代码的正确性吗?”汤姆同意,这是我理解过程中发生的错误,但被接受的答案让我清楚地知道了这个计算到底在做什么