ФорумПрограммированиеPHP для идиотов → функция floor

функция floor

  • Cos

    Сообщения: 41 Репутация: N Группа: Кто попало

    Spritz 16 июля 2009 г. 11:30

    Объясните мне, почему этот код выводит 7
    echo floor((0.1+0.7)*10);


    а этот 8
    echo floor(8);
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 16 июля 2009 г. 11:34, спустя 3 минуты 24 секунды

    Due to the floating point precision issue (http://www.php.net/float) if you round() one additional decimal point prior to calling floor() you will get the expected result.

    For example:
    echo floor((0.1 + 0.7) * 10); // echo's 7
    echo floor(round((0.1 + 0.7) * 10, 1)); // echo's 8
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 16 июля 2009 г. 11:34, спустя 9 секунд

    Cos, в пхп есть странности, как и в твоих вечно вопросах :)
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 16 июля 2009 г. 11:39, спустя 4 минуты 54 секунды

  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 16 июля 2009 г. 17:39, спустя 5 часов 59 минут 50 секунд

    в пхпе 399999999999999-399999999999998 = 1.
    норм все)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!