JavaScript-在特定位置替换INT

JavaScript-在特定位置替换INT,javascript,replace,position,Javascript,Replace,Position,我有一个int变量,基本上看起来像这样: 101137111 我想做的是在一个特定点替换一个INT。举个例子,如果我想把7改成9。我将如何实现这一点?记住,我不想搜索7,因为以前可能有7 那么,另一个例子: var number = 101137111; var newNumber; newNumber = number.replaceAtPosition('4') andReplaceWith (9); 因此,现在应该将3改为9,将其转换为字符串,并逐个更改所需的字符 使用toString

我有一个int变量,基本上看起来像这样:

101137111

我想做的是在一个特定点替换一个INT。举个例子,如果我想把7改成9。我将如何实现这一点?记住,我不想搜索7,因为以前可能有7

那么,另一个例子:

var number = 101137111;
var newNumber;

newNumber = number.replaceAtPosition('4') andReplaceWith (9);

因此,现在应该将3改为9,将其转换为字符串,并逐个更改所需的字符

使用toString()将int值转换为字符串

下面是搜索和替换字符的介绍>

一旦完成,返回整数

function replaceAtPosition(number,index,replacement){
    number += '';//to string
    number = number.substring(0,index) + replacement + number.substring(index+1);
    return +number; // to int
}
像这样使用它:

var number = 101137111;
var newNumber = replaceAtPosition(number,4,9);
请观看此实况演示:

所以基本上,转换成字符串,替换,然后再转换回来

然而,优雅的解决方案将使用数字的位操作,因为这样更快。(别问我怎么变魔术!)

你可以很容易地适应你的需要;通过将数字转换为字符串,然后调用replaceAt()函数

// Cem's code
String.prototype.replaceAt = function(index, char) {
    return this.substr(0, index) + char + this.substr(index+char.length);
};
// End of Cem's code

var nb = 123456789;
var str = nb.toString();
str = str.replaceAt(5, '0'); // note the quotes around the number
// Cem's code
String.prototype.replaceAt = function(index, char) {
    return this.substr(0, index) + char + this.substr(index+char.length);
};
// End of Cem's code

var nb = 123456789;
var str = nb.toString();
str = str.replaceAt(5, '0'); // note the quotes around the number