如何在Javascript中将其转换为整数?

时间:2013-02-01 20:49:20

标签: javascript

昨天我问了一个类似的问题..如果我有例如0-9999,怎么能把它变成09999,基本上删除 - 并在javascript中使它成为整数?

var = 0-9999

将其转换为9999整数

或var = 2-9999,将其转换为29999

非常感谢

4 个答案:

答案 0 :(得分:5)

这应该可以解决问题:

num = num.replace(/[^0-9]+/g, '') * 1;

它将删除任何非数字字符并将变量转换为整数。这是你的jsFiddle demonstration

答案 1 :(得分:4)

最明显和最基本的解决方案是:

var s = "1-2345";
var t = s.replace("-","");
var i = parseInt(t,10);

但是这会做出很多假设而忽略任何错误。

答案 2 :(得分:1)

试试这个:

var i = '0-9999';
var int = Number(i.replace('-', ''));
window.alert(int);

在Firefox中注意,除非传入基数(这似乎是一个错误),否则parseInt()将无法使用前导零:

var int = parseInt(i.replace('-', ''), 10);

Fiddler

答案 3 :(得分:0)

请记住

var x = 2-9999

相同
var x = -9997

因为短划线被视为减法符号,除非您使用引号(单引号或双引号,无关紧要)。

因此,假设您正确引用了文本,您可以使用以下函数来拉出文本任意给定位置的字符(使用从零开始的索引)。

function extractChar(myString,locationOfChar){
    var y = myString.substring(0,locationOfChar-1)
    var z = myString.substring(locationOfChar+1)
    var s = y.concat(z)
    var i = parseInt(s,10)
    return i 
}

因此

var i = extractChar("2-9999",1)

相同
var i = 29999