繁体   English   中英

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

[英]How can I convert this into a integer in Javascript?

昨天我问了一个类似的问题..如果我有例如0-9999,如何将其转换为09999,基本上删除-并使其成为javascript中的整数?

var = 0-9999

把它变成9999整数

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

谢谢一大堆

这应该可以解决问题:

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

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

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

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

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

尝试这个:

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

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

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

提琴手

记住

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM