Вывести на дисплей 20 значное число в нормально виде
Проблема следующая : при работе функции на дисплей выходит результат с плавающей запятой. Пробовал просто выводить число частями.. но увы вы водит не понятный результат.. зачем то округляет самостоятельно.
:help: :help: :help: :help:
var therdEx = solution("712569312664357328695151392" , "8100824045303269669937");
function solution(firstarg, secondarg){
res = Number(firstarg)+Number(secondarg);
r= res.toString();
return r
}
console.log(therdEx);
|
Mac2017,
искать плагин BigNumber http://javascript.ru/forum/misc/6401...rifmetika.html |
Надо решить на native JS - плагин слишком просто.
|
Цитата:
|
Чот там к тому же выводу пришли. Или намекаешь на что лучше преобразовать массив, а потом вывести на дисплей.
|
Mac2017,
не понимаю ваших сообщений, всё чем мог помочь смотрите по ссылке. |
<head>
<meta charset="utf-8">
</head>
<body>
left:<input type="text" id="left" />
<br/>right:
<input type="text" id="right" />
<button id="summ">Сложить</button>
<br/>sum: <span id="sum"></span>
<script>
document.getElementById("summ").addEventListener("click", function(e) {
var left = document.getElementById('left').value;
var right = document.getElementById('right').value;
if(isNaN(left) || isNaN(right)) return;
document.getElementById('sum').innerHTML = (add(left,right));
});
function res(a, b, result, carry, base) {
if (a.length == 0 && b.length == 0 && !carry)
return result;
var left = parseInt(a.pop() || '0', 10);
var right = parseInt(b.pop() || '0', 10);
var l = left + right + (carry || 0);
return res(a, b, l % base + (result || ""), Math.floor(l / base), base);
}
function add(a, b) {
return res(a.toString().split(""), b.toString().split(""), "", "", 10).toString();
}
</script>
</body>
если вам только для сложения |
| Часовой пояс GMT +3, время: 08:52. |