Округлить до ближайшей степени 10

Я пытаюсь понять, как округлить число (больше 0) до ближайшей степени 10.

Примеры:

roundUp(23.4) = 100
roundUp(2.34) = 10
roundUp(.234) = 1
roundUp(0.0234) = 0.1
roundUp(0.00234) = 0.01

Я считаю, что для чисел больше 1 это работает:

10^(ceil(log10(x)))

Но для чисел от 0 до 1 я не уверен, как получить ответ.


person accelerate    schedule 08.11.2013    source источник
comment
Для меня ваша функция работает правильно даже для чисел от 0 до 1.   -  person Danstahr    schedule 09.11.2013
comment
Вы правы, так и есть. Полный идиотизм для меня.   -  person accelerate    schedule 09.11.2013


Ответы (1)


Упс. Я не понимал, что функция на самом деле работает для чисел от 0 до 1. Это был мозговой пердеж, когда я увидел отрицательное число для log10 (x) и просто предположил, что не могу взять 10 ^ этого.

Продолжать.

person accelerate    schedule 08.11.2013