簡體   English   中英

進行數學運算是否有原因* 1000/1000沒有意義

[英]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

它的工作方式如下:假設數字ax個小數(在我們的示例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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM