我有一个变量存储了CSS margin的值。我想要去掉末尾的"px",只留下数字来进行操作。如何实现此功能?
var x = "1px";
var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior
方案1:
parseInt('200px', 10);
parseInt()函数解析一个字符串并返回一个整数。除非你知道自己在做什么,否则不要更改上述函数中的10(称为“基数”)。
输出将为:200。
选项2 (我个人更喜欢这个选项)
parseFloat('200px')
输出将会是:200
parseFloat()函数解析一个字符串并返回一个浮点数。
parseFloat()函数确定指定字符串中的第一个字符是否为数字。如果是数字,则解析该字符串直到达到数字的末尾,并将数字作为数字而不是字符串返回。
选项2的优点是,如果您使用小数(例如200.32322px),则将返回带有小数点后面的值的数字。如果需要返回特定数字,这将非常有用。
你最好使用parseFloat()
在有小数的情况下,比如transition-delay为0.5s,parseInt(x,10)返回零,而parseFloat()则返回0.5
var x = "0.5s";
var y = parseFloat(x); //returns 0.5
0.5px
不如 0.5s
常见)。 - Jon Surrell