Parse to float with 2个小数位

时间:2016-06-17 11:28:43

标签: javascript

我需要对从Web服务收到的2位小数值进行舍入。为此,我使用此方法toFixed和parseFloat,因为我需要float中的最终值。 但是,当我有这个值“5.5000000”时,他向我显示只有一个小数位“5.5”...

的值

我这样做了:

var num = 5.5000000;
var n = num.toFixed(2);
var numFinal = parseFloat(n);

3 个答案:

答案 0 :(得分:5)

您必须在toFixed之后致电parseFloat

parseFloat(yourString).toFixed(2)

答案 1 :(得分:1)

你可以做这样的事情

   /**
       * Convert the value to the Number with the precision.
       * @param   {Number} value         value to be converted
       * @param   {Number} [precision=0] number of decimal places
       * @returns {Number} converted number.
       */
      function toNumber (value, precision) {
        precision = precision || 0;
        if (precision === 0) {
          return value * 1;
        } else {
          return Number((value * 1).toFixed(precision));
        }
      }

答案 2 :(得分:1)

简短答案:JS中没有办法让Number数据类型的值在小数点后尾随零。

长答案:它是JavaScript的toFixed或toPrecision函数的属性,以返回String。原因是Number数据类型不能具有a = 2.00之类的值,它将始终删除小数点后的零。这是Number数据类型的内置属性。因此,要在JS中实现上述目标,我们有2种选择

  1. 使用数据作为字符串或
  2. 同意在末尾ex 2.50-> 2.5处具有大小写为'0'的截断值。数字不能在小数点后尾随数字为零