簡體   English   中英

JavaScript 中的浮點數精度

[英]Floating point number precision in JavaScript

我想使用一些公式,但我無法處理結果,小數點無法控制。

如果我設置 W.value=30 R.value=1

          let endresult = 
           Math.round(((W*(36/(37 - R)))+
          (W*(1 + 0.0333 * R))+
          ((100 * W)/(101.3 - 2.67123*R))+
          (W* (Math.pow(R,0.1)))+
          ( (100 * W)/(52.2 +(41.9 *(Math.pow(2.71828,-0.055*R)))))+
          (W*(1 + 0.025 * R))+ 
          ((100 * W)/(48.8 + (53.8 * 
          ((Math.pow(2.71828,-0.075*R)))))))/7)

          for(let i=0 ;i <6 ;i++){
          if(endresult<500 && endresult>0){
          let newul = document.querySelector('#newul')
          let newli = document.createElement('li')
          newli.id="result"
          let frag =document.createDocumentFragment()
          let newtext =document.createTextNode(`${"1RM "+ 
          (i+5)+"0%:"+endresult*(((i+5)*10)/100)+"kg"}`)
          frag.appendChild(newtext)
          frag.appendChild(newli)
          newul.appendChild(frag)
          }
          =
          1RM 50%:15.5kg
          1RM 60%:18.599999999999998kg     
          1RM 70%:21.7kg
          1RM 80%:24.8kg
          1RM 90%:27.900000000000002kg      
          1RM 100%:31kg

我不想有那些額外的小數位,最好可以對結果進行四舍五入,我嘗試使用“數字精度”/“大數字”來精確結果或 Math.round,轉換為字符串但仍然像一團糟。 我還有什么辦法嗎?

您可以使用 JavaScript 函數 toFixed(numberOfDecimals)。 看到這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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