2013-06-24 7 views
0

Хорошо, так что это в JS-файле, который вызывается на странице html. В целом t_price изменяется на разные цены в долларах США. T_price затем превращается в сингапурские доллары. Это делает цифры, такие как 499, 510.38294. Мне нужно округлить любое число до двух знаков после запятой. Это мой код:Круглые до 2 десятичных знаков с JS

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.

Я использую неправильную математику? Любая помощь будет большой.

ответ

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); thanks – KDD

+0

Обратите внимание, что вы преобразовываете число в строку, что отлично, если вы просто показываете его; если вы выполняете последующую арифметику, вы можете использовать ответ Тома ван дер Вёрдта, который приводит к числу. – TomG

7

Вы писали:

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

Вы имели в виду:

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