我有一个接受数值的输入字段。我想找到一个将该字符串值转换为数字值的方法。
ParseInt()是最先找到的,然后是 toFixed()。
这些有什么共同之处?它将值四舍五入为整数值(就像ParseInt建议的那样 - 我知道!)。
如何在保留任何小数值的同时将字符串表示转换为数字值?
例如:
"54.3" --> 54.3
答案 0 :(得分:12)
您可以使用:
//pass String as argument
var floatVal = parseFloat("54.3");
console.log(floatVal);
答案 1 :(得分:7)
整数是整数。
Float是一个带小数值的数字。
了解这一点,您将需要使用parseFloat()
,这将考虑这段时间;而不是parseInt()
,它将四舍五入到最接近的整数。
有关更多详细信息,请参阅:these docs
parseFloat("string");
let a = "54.3"
a = +a;
做+ a实际上与做* 1相同;如果需要,它会将a
中的值转换为数字,但之后它不会更改该值。
答案 2 :(得分:4)
您甚至可以将Number
用作numeric strings to a number的函数:
Number("54.3") // 54.3
请注意以下事项:
parseFloat
应该从字符串中解析一个数值,如果字符串的开头(如果不是全部的话)是数字,则成功。
Number
构造函数或函数检查整个字符串是否为数字。
+"54.3"
与幕后的Number("54.3")
完全相同。
答案 3 :(得分:1)
您可以将输入字段转换为数字,也可以指定要保留的十进制值数。
因此,假设您使用两个十进制值进行计算,但用户键入" 3.14151617"的输入。您可以使用此方法转换输入并删除额外的十进制值。
var input = "3.14151617"
var num = +(parseFloat(input).toFixed(2))