PHP округление до целого числаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP округление до целого числа

Сообщение Anonymous »

Я хочу округлить число, и мне нужно правильное целое число, потому что я хочу использовать его в качестве ключа массива. Первое «решение», которое приходит на ум:

Код: Выделить всё

$key = (int)round($number)
Однако я не уверен, что это всегда будет работать. Насколько я знаю (int) просто усекает любые десятичные дроби, и поскольку round($number) возвращает число с плавающей точкой с теоретически ограниченной точностью, возможно ли, что round($number) возвращает что-то например 7.999999... и тогда $key равен 7 вместо 8?

Если эта проблема действительно существует (я не знаю, как ее проверить ), как это решить? Возможно:

Код: Выделить всё

$key = (int)(round($number) + 0.0000000000000000001) // number of zeros chosen arbitrarily
Есть ли лучшее решение, чем это?

Подробнее здесь: https://stackoverflow.com/questions/387 ... to-integer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»