0

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

变量 = 0-9999

把它变成 9999 整数

或 var = 2-9999 ,把它变成 29999

谢谢一堆

4

4 回答 4

5

这应该可以解决问题:

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

它将去除所有非数字字符并将变量转换为整数。这是为您提供的jsFiddle 演示

于 2013-02-01T20:51:48.060 回答
4

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

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

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

于 2013-02-01T20:51:57.827 回答
1

尝试这个:

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

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

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

提琴手

于 2013-02-01T20:53:04.983 回答
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
于 2013-02-01T21:10:25.883 回答