【问题标题】:How do I convert string to number and ensure a float type in JavaScript?如何将字符串转换为数字并确保 JavaScript 中的浮点类型?
【发布时间】:2018-10-09 07:52:13
【问题描述】:

我使用了parseFloat(number),但它输出一个整数。例如:

var num='3.0';
console.log(parseFloat(num)) // 3, not 3.0

如何将字符串转换为数字并确保浮点类型带有小数部分?

【问题讨论】:

  • 3.0 as a number is 3 - 故事结束 - 使用 toFixed(1) 将数字链接到字符串 - 但它是字符串而不是数字
  • 但我不想将十进制数字固定为 1。可以使用其他方法吗?
  • 其实,在我的代码中,数字是从输入中得到的。例如,用户想输入3.0。当用户输入3.0时,数字已经变成了3。
  • “当用户输入 3.0 时,数字已经变成了 3” - 是的,这 的正确数字表示数 三。您首先需要学习区分数字的内部表示和人类的格式化输出3.0 是后者。现在,如果您说您想要这种“动态”,大概意味着您想要保留与用户输入的一样多的小数,即使它们全为零 - 那么您需要确定小数的数量之前你将事物转换为数字,使用原始输入,同时仍以字符串形式。

标签: javascript floating-point


【解决方案1】:

3.0 就是 3 没错

如果你这样做了

var num='3.1';
console.log(parseFloat(num))//3.1

它会显示 3.1 所以没什么问题

【讨论】:

    【解决方案2】:

    var num = '3.0';
    console.log(Number.parseFloat(num).toFixed(1));

    【讨论】:

    • 但我不想将十进制数字固定为 1。可以使用其他方法吗?
    【解决方案3】:

    四舍五入

    var num='3.0'
    console.log(Math.round(num));

    截断值

    var num = '3.0';
    console.log(Math.floor(num));
    console.log(Math.trunc(num))

    check this link for more ways

    【讨论】:

      猜你喜欢
      • 2011-03-10
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多