25
var calcTotalprice = function () {
    var price1 = parseFloat($('#price1').html());
    var price2 = parseFloat($('#price2').html());
    overall = (price1+price2);
    $('#total-amount').html(overall);
}

var price1 = 1.99;
var price2 = 5.47;

如何添加功能以将价格数字中的点更改为逗号并将其四舍五入到小数点后两位

4

3 回答 3

94

您可以使用“.toFixed(x)”函数来四舍五入您的价格:

price1 = price1.toFixed(2)

然后您可以使用方法“.toString()”将您的值转换为字符串:

price1 = price1.toString()

此外,您可以使用方法 ".replace("..","..")" 替换 "." 为了 ”,”:

price1 = price1.replace(".", ",")

结果:

price1 = price1.toFixed(2).toString().replace(".", ",")

更新的答案

.toFixed 已经返回一个字符串,因此不需要执行 .toString() 。这绰绰有余:

price1 = price1.toFixed(2).replace(".", ",");
于 2012-12-02T18:09:17.093 回答
7

试试这个:

var price1 = 1.99234;

// Format number to 2 decimal places
var num1 = price1.toFixed(2);

// Replace dot with a comma
var num2 = num1.toString().replace(/\./g, ',');
于 2012-12-02T18:08:40.813 回答
1

用类选择器舍入和替换的解决方案。此代码格式为 10.0 到 10,00

$('.formatInteger').each(function(){
  let int = parseFloat($(this).text()).toFixed(2)
  $(this).html(int.toString().replace(".", ","))
})
于 2020-11-06T11:10:59.337 回答