2013-06-24 26 views
0

好吧,這是在一個由html頁面調用的JS文件中。總體t_price以美元爲單位變化爲許多不同的價格。然後T_price轉換爲新加坡元。這樣做使數字像499到510.38294。我需要將任意數字四捨五入到小數點後兩位。這是我的代碼:與JS一起回到2位小數位

r_price=t_price*1.27; 
m_price=Math.round(r_price*100/100); 
document.getElementById("v_price").value="$"+m_price; 

對於什麼都原因 - 這是四捨五入沒有小數位數,而不是2。所以510.38294變的只是510,而不是510.38。

我使用了錯誤的math.round嗎?任何幫助都會很棒。

回答

2

Math.round()是做什麼你問它 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round

您要使用的toFixed()像這樣

m_price = m_price.toFixed(2); 
+0

就是它是什麼!除了我的情況,它是 m_price = r_price.toFixed(2); 謝謝 – KDD

+0

請注意,您正在將數字轉換爲一個字符串,如果您只是簡單地顯示它,那很好;如果你正在做後續的算術運算,你可能需要使用Tom van der Woerdt的答案,這會導致一個數字。 – TomG

7

您寫道:

m_price=Math.round(r_price*100/100); 

您的意思是:

m_price=Math.round(r_price*100)/100;