显示2位小数

时间:2016-11-26 22:03:15

标签: javascript jquery

我有3个滑块的代码,它将滑块的所有3个值相加并在页面上显示,我希望它在逗号后显示2位小数。我尝试使用.toFixed(2),但我不知道在哪里放置它。这是我的代码:

<div class="wrapper2">
  <input class="slider" id="ram" data-slider-id='ex1Slider' type="text" data-slider-min="0" data-slider-max="10" data-slider-step="1" />
      <hr />

  <input class="slider" id="diskSpace" data-slider-id='ex1Slider2' type="text" data-slider-min="0" data-slider-max="100" data-slider-step="10" />
       <hr />
      <input  class="slider" id="cpu" data-slider-id='ex1Slider3' type="text" data-slider-min="0" data-slider-max="4" data-slider-step="1" />

       <hr />

 <div  id = "info"></div>

var minSliderValue = $("#ram").data("slider-min");
var maxSliderValue = $("#ram").data("slider-max");

$('#ram').slider({
    value : 0,
    formatter: function(value) {
        return 'RAM: ' + value + 'GB';
    }
});

$('#diskSpace').slider({
    value : 0,
    formatter: function(value) {
        return 'Disk Space: ' + value + 'GB';
    }
});

$('#cpu').slider({
    value : 0,
    formatter: function(value) {
        return 'CPU : ' + value + ' Cores';
    }
});

// If You want to change input text using slider handler
$('.slider').on('slide', function(slider){

  var ram = $("#ram").val()*3.50;
  var diskSpace = $("#diskSpace").val()*1.20;
  var cpu = $("#cpu").val() * 6.30;
  $("#info").html(parseInt(ram)+ parseInt(diskSpace)+ parseInt(cpu));

});


// If you want to change slider using input text
$("#inputValue").on("keyup", function() {
    var val = Math.abs(parseInt(this.value, 10) || minSliderValue);
    this.value = val > maxSliderValue ? maxSliderValue : val;
    $('#ram','diskSpace','cpu').slider.toFixed(2)('setValue', val);
});

Jsfiddle:http://jsfiddle.net/4c2m3cup/34/

2 个答案:

答案 0 :(得分:1)

将汇总代码更改为以下

$('.slider').on('slide', function(slider){

  var ram = $("#ram").val()*3.50;
  var diskSpace = $("#diskSpace").val()*1.20;
  var cpu = $("#cpu").val() * 6.30;
  var totalSum=(parseFloat(ram)+ parseFloat(diskSpace)+ parseFloat(cpu)).toFixed(2);
  $("#info").html(totalSum);

});

希望有所帮助

答案 1 :(得分:1)

你正在解析为int。解析为int时,会丢失小数位。

$("#info").html(parseInt(ram)+ parseInt(diskSpace)+ parseInt(cpu));

您可以添加它们并使用x.toFixed(2)。这将为您提供两位小数,只需根据需要更改数字。

$("#info").html((ram + diskSpace + cpu).toFixed(2));