2017-05-23 87 views
0

我已經看到了很多關於這類話題的帖子,但我找不到任何細節添加到我的比較簡單的JS得到數值結果顯示爲2位地方 - 答案可能很簡單,但不知何故我無法弄清楚。JS輸入域結果顯示小數點後2個名次

這是一個計算器,你寫的兩個條目到2場,和第三返回2號的倍增答案 - 罰款。

但是,如果數量不是全部,而且需要十進制名次,它顯示完整的字符串,而不是2位小數的回答是勢在必行。

function calculate() { 
    var no1 = document.getElementById('number1').value; 
    var no2 = document.getElementById('number2').value; 
    var result = document.getElementById('result'); 
    var myResult = no1 * no2; 
    result.value = myResult; 
     } 

一個更簡單的修復就更好了,因爲我想象的一樣,每個條目^,我不得不作出修正和現在的代碼條目已接近1000作爲其帶全手動輸入投注計算器。

回答

1

可以使用Number.prototype.toFixed方法:

function calculate() { 
    var no1 = document.getElementById('number1').value; 
    var no2 = document.getElementById('number2').value; 
    var result = document.getElementById('result'); 
    var myResult = (no1 * no2); 
    myResult = myResult % 1 ? myResult.toFixed(2) : myResult; 
    result.value = myResult; 
} 
+0

希望這回答你的問題! – kqcef

+0

輝煌的東西 - 完美的作品 –

+0

太棒了!隨時接受答案,只要你想。 – kqcef

0

添加下面的條件,如果你只是想顯示2位小數,如果數字有小數,否則你想保持它,因爲它是IE作爲一個整數:

if(Number(myResult) === parseInt(myResult)){ 
    myResult = myResul.toFixed(2); 
} 
+0

應當.toFixed(2) – kqcef

+0

@kqcef耶對不起。感謝您指出:) –

相關問題