Преобразовать строку в целое число в JavaScript? - PullRequest
1525 голосов
/ 16 июля 2009

Как мне преобразовать строку в целое число в JavaScript?

Ответы [ 24 ]

0 голосов
/ 16 мая 2019

Суммирование умножения цифр с соответствующей им степенью десяти:

т.е.: 123 = 100 + 20 + 3 = 1 * 100 + 2 + 10 + 3 * 1 = 1 * (10 ^ 2) + 2 * (10 ^ 1) + 3 * (10 ^ 0)

function atoi(array) {

// use exp as (length - i), other option would be to reverse the array.
// multiply a[i] * 10^(exp) and sum

let sum = 0;

for (let i = 0; i < array.length; i++) {
    let exp = array.length-(i+1);
    let value = array[i] * Math.pow(10,exp);
    sum+=value;
}

return sum;

}

0 голосов
/ 10 марта 2019

Я добавил только один плюс (+) перед строкой, и это было решением!

+"052254" //52254

Надеюсь, это поможет;)

0 голосов
/ 17 августа 2018

Я использую это

String.prototype.toInt = function (returnval) { 
    var i = parseInt(this);
    return isNaN(i) ? returnval !== undefined ? returnval : - 1  :      i; 
}

таким образом я всегда получаю int обратно.

0 голосов
/ 04 апреля 2017

function doSth(){
  var a = document.getElementById('input').value;
  document.getElementById('number').innerHTML = toNumber(a) + 1;
}
function toNumber(str){
  return +str;
}
<input id="input" type="text">
<input onclick="doSth()" type="submit">
<span id="number"></span>
...