Я бы хотел, чтобы в моем коде отображалось только 2 десятичных знака - PullRequest
0 голосов
/ 05 августа 2020

Я написал этот код, и когда я его выполняю, он показывает до 10 знаков после запятой. Мне было интересно, есть ли способ удалить лишние десятичные знаки.

Теперь я попробовал это:

price = price.tofixed (2);

но похоже, это не работает, и я не понимаю, почему.

<script>
var weight = parseFloat(prompt("weight in lbs", "10"));
weight = weight.toFixed(2);
var price;
price= price.tofixed(2);


// writes down the volumes of triangles-->
document.write("<p>the weight is  : "+weight+"</p>");

</script>

<script>
// else if statements which will calculate the price of the shipping -->
if(weight <= 2) price=weight*1.10;
else if (weight>=2 && weight<=6) price=weight*2.20;
else if(weight>6 && weight<=10) price=weight*3.70;
else if(weight>10) price=weight*3.80;

document.write("<p>the price of the item's shipping is  "+price+"</p>");
</script>
  
</script>
</body>
</html>

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Вам необходимо позвонить на price.toFixed после того, как price будет назначен. например:

else if(weight>10) price=weight*3.80;

price = price.toFixed(2);    

document.write("<p>the price of the item's shipping is  "+price+"</p>");
0 голосов
/ 05 августа 2020

Поскольку вы хотите, чтобы значение было отформатировано как денежная сумма, вы можете использовать Intl.NumberFormat следующим образом:

document.write("<p>the price of the item's shipping is  "+ 
  new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(price) +
"</p>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...