Estoy practicando mi javascript
en CodeWars y me he topado con esta pregunta:
Escribe una función que devuelva el
String
con la suma de dos números. Los parametros son dos numeros pero de tipoString
.
Notas:
- Los inputs son grandes.
- Los inputs son
strings
que contienen solo numeros. - Los numeros son positivos.
Por lo que hice:
function add(a, b) {
return (Number(a) + Number(b))+"";
}
Para numeros pequeños no hay problema, me pasa los test bien, pero para numeros grandes falla al cambiar la notación.
Tests:
✔ Test Passed: Value == '100'
✔ Test Passed: Value == '8670'
✔ Test Passed: Value == '5'
✘ sumStrings('712569312664357328695151392', '8100824045303269669937') -
Expected: '712577413488402631964821329', instead got: '7.125774134884027e+26'
✘ sumStrings('50095301248058391139327916261', '81055900096023504197206408605') -
Expected: '131151201344081895336534324866', instead got: '1.3115120134408189e+29'
Probablemente sea una chorrada pero no se me ocurre. ¿Cómo puedo solventar este problema?