将JavaScript中字符串中的负数转换为负十进制数

8

我有一个字符串:"-10.456",我想在JavaScript中将其转换为十进制数-10.465,以便可以与另一个十进制数进行比较大小。

谢谢。


5个回答

18

parseInt函数可用于将字符串解析为整数,并使用以下格式:parseInt(string, radix);

例如: parseInt("-10.465", 10); 返回 -10

要解析浮点数,您需要使用parseFloat,格式如下:parseFloat(string)

例如: parseFloat("-10.465"); 返回 -10.465


@Grice 如果我想要加两个小数,但是尾随的零丢失了怎么办!+(parseFloat(3.6 + 4.4).toFixed(1))如果我使用.toFixed,它会返回字符串,而parseFloat则返回数字,但没有小数点/尾随零。 - Santosh

4
只需将其传递给 Number 函数即可:
var num = Number(str);

数字函数仅在数字没有任何其他非数字字符串时起作用。如果您有一个“-10%”的数字,则解决方案为NA。 - xzegga

2

如果变量str = "-10.123",这里有两种简单的方法:

#1

str = str*1;

#2

str = Number(str);

现在两种方法都包含了JavaScript数字原始值。希望这可以帮到你!


1
在JavaScript中,您可以比较混合类型。因此,以下内容有效:
var x = "-10.456";
var y = 5.5;
alert(x < y) // true
alert(x > y) // false

1

the shortcut is this:

"-3.30" <--- the number in string form
+"-3.30" <----Add plus sign
-3.3 <----- Number in number type. 


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接