@Coder321

Как сплюсовать числа в строках?

Тут задачку прикольную подкинули. Есть функция принимающая две строки с числами, нужно вернуть сумму этих чисел. Для конвертации в число нельзя использовать стандартные методы. Как?
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Это достаточно нестандартно?
let str2dec = (s)=>s.split('').reduce((p,c)=>p*10+[0,1,2,3,4,5,6,7,8,9][c],0)
Строка разбивается по символам и каждый символ используется как ключ для массива [0,1,2,3,4,5,6,7,8,9]
Демо: https://jsfiddle.net/015u6zLu/

Можно то-же самое на switch case сделать.

Сразу предупрежу, там нет никаких проверок, поэтому на строках с не цифровыми символами может выдавать ошибочные результаты. Но их можно добавить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
profesor08
@profesor08 Куратор тега JavaScript
Столбиком! Каждый символ в строке имеет числовое представление. Берем цифру, отнимаем 48 и получаем нужную. str.charCodeAt(i) , где i - номер символа.

var str = "1234567890";
str.charCodeAt(4) - 48; // 5
Ответ написан
@Rapen
let sum  = (a,b) => {
b = Number(b);
for(let i = 0; i <Number(a);i++) b++;
return b;
};
console.log(sum('3000','2000')); //5000
Ответ написан
rim89
@rim89
программист-велосипедист
Не знаю, на сколько это стандартный:
(+str_1)+(+str_2)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы