math.round*1000/1000是否有理由没有意义

gco*_*lby 0 javascript java math android rounding

我正在看这行代码,我无法理解它.这个特殊的代码是javascript,但我最终想制作一个java android应用程序.

$("#TxtHalfDot").val(Math.round((60000/bpm)*3*1000)/1000); 

         //bpm being a user entered value
Run Code Online (Sandbox Code Playgroud)

我理解数学的过程,并用计算器多次完成.但是,我无法理解*1000后跟/ 1000.

我的问题

这是"math.round"函数的奇怪行为还是只是根本不需要.我已经看了很多但是当我看到它时我觉得它可以省略,但我不是电脑......

(60000/bpm)*3给出相同的结果((60000/bpm)*3*1000)/ 1000

thu*_*eys 9

如果你仔细观察,你会发现整个术语四舍五入除以1000 .

所以这不仅仅是x * 1000 / 1000.


Tib*_*bos 6

Math.round(a*1000)/1000数字a舍入为3位小数.

例如:Math.round(1234.123456*1000)/ 1000 = 1234.123

这是如何工作的:假设数字ax小数(在我们的例子6中).您将数字乘以10的幂n(在我们的示例3中),有效地将小数点n数字向右移动.然后你绕数字(切掉所有小数).然后你除以10的幂n,将小数点移回.