Javascript 带小数和toFixed的parseFloat

Javascript 带小数和toFixed的parseFloat,javascript,Javascript,我使用选择下拉列表来计算价格的总和。我需要的是.00和.50,而不是.5 <script> var executeSum = function() { var sum, a, b, c = 0 var m4r1InfoMrP = document.getElementById("m4r1InfoMrP"); if (m4r1InfoMrP) { a = parseFloat(m4r1InfoMrP.value); } var m4

我使用选择下拉列表来计算价格的总和。我需要的是.00和.50,而不是.5

<script>
  var executeSum = function() {

  var sum, a, b, c = 0

  var m4r1InfoMrP = document.getElementById("m4r1InfoMrP");
    if (m4r1InfoMrP) {
        a = parseFloat(m4r1InfoMrP.value);
    }

  var m4r1InfoMrS = document.getElementById("m4r1InfoMrS");
  if (m4r1InfoMrS) {
      b = parseFloat(m4r1InfoMrS.value);
  }

  var m4r1InfoMrD = document.getElementById("m4r1InfoMrD");
  if (m4r1InfoMrD) {
      c = parseFloat(m4r1InfoMrD.value);
  }

  sum = a + b + c;

 document.getElementById("m4r1InfoMrPS").value = formatNumber(sum);         // 1.00;

};

function formatNumber(num) {
  return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')
}

executeSum();
</script>

var executeSum=函数(){
var和,a,b,c=0
var m4r1InfoMrP=document.getElementById(“m4r1InfoMrP”);
如果(m4r1InfoMrP){
a=解析浮点(m4r1InfoMrP.value);
}
var m4r1InfoMrS=document.getElementById(“m4r1InfoMrS”);
if(m4r1InfoMrS){
b=解析浮点(m4r1InfoMrS.value);
}
var m4r1InfoMrD=document.getElementById(“m4r1InfoMrD”);
如果(m4r1InfoMrD){
c=解析浮点(m4r1InfoMrD.value);
}
总和=a+b+c;
document.getElementById(“m4r1InfoMrPS”).value=formatNumber(总和);//1.00;
};
函数formatNumber(num){
return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,$1')
}
executeSum();


您只需将
num.toString()
替换为
num.toFixed(2)
中的
formatNumber
函数即可解决此问题,如:

函数格式编号(num){
返回num.toFixed(2)。替换(/(\d)(?=(\d{3})+(?!\d))/g,'$1')
}
控制台日志(格式编号(12345))

console.log(formatNumber(12345.5))
您只需在
formatNumber
函数中将
num.toString()
替换为
num.toFixed(2)
即可解决此问题,如:

函数格式编号(num){
返回num.toFixed(2)。替换(/(\d)(?=(\d{3})+(?!\d))/g,'$1')
}
控制台日志(格式编号(12345))
console.log(formatNumber(12345.5))