@IvanVvV

Как убрать лишние нули вконце числа?

var a = 0.000000009;
a.toFixed(20); 
alert(a);

Получается 0.000000009000000000 , как убрать лишние нули?
  • Вопрос задан
  • 12172 просмотра
Решения вопроса 1
twobomb
@twobomb
В строке ?
var a = "0.000000009000000000";
a = a.replace(/0*$/,"");
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
BRAGA96
@BRAGA96
Можно написать свою функцию фиксирования числа.
Могу поделится своей, которая фиксирует и не округляет число.
/**
 * Установить к-во чисел после запятой (без округления)
 * @param {number} number - число
 * @param {number} fixed - к-во чисел после запятой, по умолчанию 4
 * @returns {number} - фиксированное число
**/
function numberFixed(number, fixed) {
	if ((typeof number === 'number' || typeof number === 'string') && !isNaN(number - parseFloat(number))) {
		number = String(number);
		var split = number.split('.');
		if (split.length > 1) {
			var left = split[0];
			var right = split[1].substr(0, (!fixed ? 4 : fixed));
			return Number(left + (fixed !== 0 ? '.' + right : ''));
		} else {
			return Number(number);
		}
	}
}


Или можно нацепить на Number.prototype кастомный метод фиксирования
Number.prototype.customFixed = function(fixed) {
	var number = this;
	number = String(number);
	var split = number.split('.');
	if (split.length > 1) {
		var left = split[0];
		var right = split[1].substr(0, (!fixed ? 4 : fixed));
		return Number(left + (fixed !== 0 ? '.' + right : ''));
	} else {
		return Number(number);
	}
}


Пример использования:
// Функция
numberFixed(515.6328456232, 5); //> 515.63284

// Метод Number.prototype
(515.6328456232).customFixed(5); //> 515.63284
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы