Устарело: неявное преобразование из float в int теряет точность. ⇐ Php
-
Anonymous
Устарело: неявное преобразование из float в int теряет точность.
Я экспериментирую с получением часов и минут из секунд, и мы все видим много вопросов, похожих на этот, но я не уверен, какое решение является лучшим
$секунды = 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, но я не знаю, как его правильно преобразовать.
Я экспериментирую с получением часов и минут из секунд, и мы все видим много вопросов, похожих на этот, но я не уверен, какое решение является лучшим
$секунды = 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, но я не знаю, как его правильно преобразовать.
Мобильная версия