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