Intereting Posts
Содержимое Textarea иногда не включается в массив $ _POST, но в другое время. Невозможно получить доступ к модулям модуля в контроллере модуля Как я могу загрузить доступ к файлам вне каталога public_html? Несколько сайтов в одной базе данных MySQL Изображение случайно повреждено (но загружается после обновления) и показывает «Ресурс, интерпретируемый как изображение, но переданный с типом текста MIME / html» Узнайте, существует ли дата между двумя датами, игнорируя год fopen блокировка файла в PHP (тип чтения / записи типа) Как добавить несколько переменных $ _POST и переменных? преобразование MySQL-запроса в синтаксис Codeigniter PHP / regex для анализа журнала ошибок NGINX isset () vs strlen () – вычисление быстрой / четкой длины строки Неправильный относительный путь Zend Route Как я могу использовать класс APP CakePHP для загрузки XML-файлов из URL-адреса? Почему некоторые операции с потоковыми массивами в PHP, похоже, не работают? Безопасное генерирование случайных чисел в PHP

PHP typecasting float-> int

Учитывая этот код PHP:

// total is 71.24 (float) $value = $total * 100; var_dump($value); $valuecast = (int)$value; var_dump($valuecast); settype($value, 'int'); var_dump($value); 

var_dump ($ value) дает float (7124)

var_dump ($ valuecast) дает int (7123)

var_dump ($ value) после settype дает int (7123)

Как я могу получить правильное преобразование типов?

    Для float to int я предлагаю round . Это связано с неточностями IEEE float.

    Из руководства PHP на TypeCasting Float to Integer

    Предупреждение

    Никогда не добавляйте неизвестную фракцию в целое число, так как это иногда может привести к неожиданным результатам.

     <?php echo (int) ( (0.1+0.7) * 10 ); // echoes 7! ?> 

    См. Также предупреждение о точности поплавка .