Я пытаюсь добавить большое десятичное число вместе, чтобы получить 9999999999.9999999999, но вместо этого я получаю 10000000000.Добавление большого количества десятичных знаков на JavaScript
Вот код:
function add(x, y) {
var filterFloat = function (value) {
if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
.test(value))
return Number(value);
return NaN;
}
if (typeof x == 'string') {
filterFloat(x);
console.log(x);
};
if (typeof y == 'string') {
filterFloat(y);
console.log(y);
};
var z = filterFloat(x) + filterFloat(y);
//var short = z.toFixed(4);
//console.log(short);
//return short.toString();
//return z.toString();
return z;
var zz = z.toString();
return zz;
//console.log(typeof zz);
}
Вот аргумент является прошло:
add("1234567890.0987654321", "9.9");
Смотрите ниже скрипку:
https://jsfiddle.net/emporio/gythd5dr/
Это не относится к вашему коду, если вы назначили 99999999999.999999999999 для поплавка в js, он будет приближен к 100000000000. Просто введите его в консоли хром и нажмите return. вы должны сделать больше, чтобы справиться с суммой больших чисел. Совет: например, сохраните все цифры в массиве. –