[英]How to remove zeros from decimal numbers in Javascript
例如,如果計算是10/8
,代碼應該回答1.25
而不是1.250
或者0/1
應該是0
而不是0.000
。 如何在 Javascript 中從十進制數字中刪除零,同時在點三( .toFixed(3);
)之后仍然保持最大數量的數字(如果沒有零)
var operator = ['/']; function F1() { Z1 = document.getElementById("Z1"); Z2 = document.getElementById("Z2"); oper=document.getElementById("operator"); answer=document.getElementById("answer"); rZ1 = Math.floor((Math.random()*10)); rZ2 = Math.floor((Math.random()*10)+1); op = operator[Math.floor(Math.random()*1)]; Z1.innerHTML=rZ1; Z2.innerHTML=rZ2; oper.innerHTML=op; answer.innerHTML = eval(rZ1 + op + rZ2).toFixed(3);}
<button onclick="F1()"> New </button> <p> <label id="Z1"> </label> <label id="operator"> </label> <label id="Z2"> </label> = <label id="answer"> </label> </p>
我確信有一個更優雅的解決方案,但這有效:
var operator = ['/']; function F1() { Z1 = document.getElementById("Z1"); Z2 = document.getElementById("Z2"); oper=document.getElementById("operator"); answer=document.getElementById("answer"); rZ1 = Math.floor((Math.random()*10)); rZ2 = Math.floor((Math.random()*10)+1); op = operator[Math.floor(Math.random()*1)]; Z1.innerHTML=rZ1; Z2.innerHTML=rZ2; oper.innerHTML=op; var blah = parseFloat(eval(rZ1 + op + rZ2).toFixed(3)); if (blah.toFixed(2) == blah) { blah = parseFloat(blah.toFixed(2)); if (blah.toFixed(1) == blah) { blah = parseFloat(blah.toFixed(1)); } } answer.innerHTML = blah;}
<button onclick="F1()"> New </button> <p> <label id="Z1"> </label> <label id="operator"> </label> <label id="Z2"> </label> = <label id="answer"> </label> </p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.