Показать сообщение отдельно
  #25 (permalink)  
Старый 19.05.2016, 00:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

округление чисел
kv9923,
а так?
Number.prototype.round = function(base) {
    if (base == null || base < 0) return this;
    var string = this.toString();
    var point_index = string.indexOf(".");
    if (point_index == -1) return this;
    var symbol_index = point_index + 1 + base;
    if (symbol_index >= string.length) return this;
    var max_fractional = Math.pow(10, base);
    var up = 0;
    string = string.split("");
    for (var i = string.length - 1; i >= symbol_index; i--) {
        if (point_index == i) continue;
        up = (string[i] = +string[i] + up) >= 5 ? 1 : 0;
        string[i] %= 10
    }
    string.length = symbol_index;
    return +(+string.join("") + up / max_fractional).toFixed(base)
};

var a = 90*24.85*0.97 ;
alert(a.round(2));
Ответить с цитированием