Показать сообщение отдельно
  #4 (permalink)  
Старый 16.10.2012, 04:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Дзен-трансгуманист, чего-то я не особо вдупляю - накой такие сложности в твоей функции?

(function(a){
    window.alert = function(){
        a(Array.prototype.slice.call(arguments).join('\n'))
    }
}(window.alert))

function maxFraction (value, digits) {
 
  var fixed = (+value).toFixed(digits);
  var i = fixed.length - 1;
 
  loop: while (true) {
 
    switch (fixed.charAt(i)) {
 
    case "0": i--; continue;
    case ".": i--; break loop;
    }
 
    break;
  }
 
  return fixed.slice(0, i+1);
}

Number.prototype.round = function(p){ //почему не так?
  return +this.toFixed(p)
}

num = 0.1 + 0.2;

alert(
  num,
  maxFraction(num, 1),
  num.round(1),
  maxFraction(num+99, 1),
  (num+99).round(1),
  maxFraction(num, 0),
  num.round(),
  maxFraction(num, 5),
  num.round(5)
)
__________________
29375, 35

Последний раз редактировалось Aetae, 16.10.2012 в 05:10.
Ответить с цитированием