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

Сообщение от antonM Посмотреть сообщение
В моей задаче есть два условия:
1. количество десятичных знаков наперед неизвестно
2. должно возвращаться число (не строка)
Печально. Считай кол-во знаков базового числа и по нему округляй.
Xотя, в принципе, погрешность, если вычисления не идут подряд, накапливаться не будет, а потому достаточно округлять до десяти знаков - лишнее отбросится:

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

Number.prototype.round = function(p){ 
  return +this.toFixed(p)
}
num = 0.1 + 0.2;

alert(
  num,
  num.round(10)
)
__________________
29375, 35

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