簡體   English   中英

如何從Javascript中的十進制數字中刪除零

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

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