![](/img/trans.png)
[英]how to use Math.round() in java for getting =ROUND(A8/1000,2)* 1000 (excel formula) output
[英]is there a reason for math.round *1000 /1000 doesn't make sense
我正在看這行代碼,我無法理解。 這個特定的代碼是javascript,但我最終還是想制作一個Java android應用。
$("#TxtHalfDot").val(Math.round((60000/bpm)*3*1000)/1000);
//bpm being a user entered value
我了解數學的過程,並且已經使用計算器進行了很多次。 但是,我無法理解* 1000后跟/ 1000。
我的問題
這是“ math.round”函數的一種奇怪行為,還是只是根本不需要它。 我看過很多東西,但是當我看它的時候我覺得它可以省略,但是我不是電腦...
(60000 / bpm)* 3給出相同的結果((60000 / bpm)* 3 * 1000)/ 1000
如果仔細看,會發現四舍五入后將整個項除以1000。
因此,不僅是x * 1000 / 1000
。
Math.round(a*1000)/1000
數字a
舍入為3位小數。
例如:Math.round(1234.123456 * 1000)/ 1000 = 1234.123
它的工作方式如下:假設數字a
有x
個小數(在我們的示例6中)。 將數字乘以10乘以n
的冪(在我們的示例3中),有效地將小數點向右移動n
位數字。 然后,將數字四舍五入(切掉所有小數點)。 然后,將10除以n
的冪,然后將小數點移回原位。
它與括號有關。
Math.round((60000/bpm)*3*1000)/1000
全文閱讀。
將60000除以bpm然后乘以3000然后執行Math.round然后除以1000
您正在對可能的浮點數進行四舍五入,然后除以1000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.