Устарело: неявное преобразование из float в int теряет точность.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Устарело: неявное преобразование из float в int теряет точность.

Сообщение Anonymous »


Я экспериментирую с получением часов и минут из секунд, и мы все видим много вопросов, похожих на этот, но я не уверен, какое решение является лучшим

$секунды = 6530; $secs = $секунд % 60; $hrs = $секунд/60; $мин = $ч % 60; // Причина проблемы $часов = $часов / 60; var_dump($часов, $минут, $секунд); Это код, который дает мне:

Устарело: неявное преобразование из float 108.83333333333333 в int теряет точность. с плавающей запятой (1,8138888888888889) интервал(48) интервал (50) Я понимаю ошибку, проблема не в этом, а в том, как ее решить. Я пробовал

$mins = (int) ($hrs % 60); и $mins = интервал ($hrs % 60); а также $mins = (int) round($hrs % 60); Но у меня та же проблема.

Вот песочница для справки: https://onlinephp.io/c/b5b45

Как правильно это решить? Мне нужно это как int, но я не знаю, как его правильно преобразовать.
Ответить

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

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

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

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

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