Decimal javascript-toFixed

Decimal javascript-toFixed

本文关键字:javascript-toFixed Decimal      更新时间:2023-09-26

我有一些标签"span",上面写着我的"产品"的价格(0.9;1.23;9.0),我使用方法"toFixed (2)"有两个小数位。问题是现在我所有的价格都是相同的值:0.90。我应该怎么做才能使方法"toFixed"单独占用我的"跨度"?我的代码:

//show two decimals
  var price = parseFloat($('.unit_price_d').text()); //span 
  var price_d = (price).toFixed(2);
  console.log(price_d);
  $('.unit_price_d').text(price_d);

你可以给.text()方法一个函数。它接收每个选定元素的旧文本内容作为参数,返回值替换它。

$('.unit_price_d').text(function(i, oldtext) {
    return parseFloat(oldtext).toFixed(2);
});

好的,好问题!

var price = 0
$('.unit_price_d').each(function(){
    price_d = parseFloat($(this).text()).toFixed(2); //span 
    console.log(price_d);
    $(this).text(price_d)
})

请注意两件事。 使用 *.each()**this* 关键字进行迭代,代码开启!

您应该循环到 DOM 元素中,并为每个特定元素文本应用toFixed()。喜欢:

var price = 0
$('.unit_price_d').each(function() {
  price = parseFloat($(this).text()).toFixed(2)
  $(this).text(price)
})

虽然,我建议在你的范围上使用数据属性来更干净一些,并将这两个值都保留在你的标记中:<span data-price="1.23"></span> .

最后,如果你是开始JS,你应该考虑尝试在没有jQuery的情况下编写一些代码,以便更好地理解DOM操作(和JS全局)。