Простой: как бы вы нашли дробную часть числа с плавающей запятой в PHP? Например, если у меня значение 1,25, я хочу вернуть 0.25.Каков наилучший способ получить дробную часть float в PHP?
ответ
$x = $x - floor($x)
Мои PHP навыки отсутствуют, но вы могли бы минус результат пола из исходного числа
В случае если число отрицательное, то вы должны будете сделать это:
$x = abs($x) - floor(abs($x));
Не забывайте, что вы не можете доверять арифметике с плавающей запятой, чтобы быть на 100% точным. Если вас это беспокоит, вы захотите изучить функции BCMath Arbitrary Precision Mathematics.
$x = 22.732423423423432;
$x = bcsub(abs($x),floor(abs($x)),20);
Вы также можете взломать на струне сами
$x = 22.732423423423432;
$x = strstr ($x, '.');
Ответ предоставляется nlucaroni будет работать только для положительных чисел. Возможное решение, которое работает как для положительных, так и отрицательных чисел:
$x = $x - intval($x)
Однако, если вы имеете дело с чем-то вроде шума Перлина или другого графического представления, то решение, которое было принято правильно. Это даст вам дробную часть от более низкого числа.
т.е.:
.25
: 0 целое число ниже, дробная часть .25-.25
: -1 целое число ниже, дробная часть .75
С другими решениями , вы будете повторять 0 как целое число ниже, и, что еще хуже, вы получите обратные дробные значения для всех отрицательных чисел.
Некоторые из предыдущих ответов являются частичными. Это, я считаю, это то, что вам нужно обрабатывать все ситуации:
function getDecimalPart($floatNum) {
return abs($floatNum - intval($floatNum));
}
$decimalPart = getDecimalPart($floatNum);
$x = fmod($x, 1);
Вот демо:
<?php
$x = 25.3333;
$x = fmod($x, 1);
var_dump($x);
Если ouptut
double(0.3333)
- 1. Получить дробную часть двойного
- 2. Каков наилучший способ преобразования строки в float?
- 3. Каков наилучший способ получить HashTable в PHP?
- 4. получить дробную часть десятичного числа
- 5. PHP: Каков наилучший способ получить данные $ _POST?
- 6. Java, извлекаем только дробную часть BigDecimal?
- 7. Получить дробную часть из поплавка номер
- 8. Каков наилучший способ кэширования файлов в php?
- 9. Каков наилучший способ получить ошибки на производственном сайте в PHP?
- 10. Правильный способ получить дробную часть double, например, int
- 11. список для float erlang без воздействия на дробную часть
- 12. Каков наилучший способ определения поддоменов PHP динамически?
- 13. Каков наилучший способ скопировать вектор cv :: Mat в вектор float?
- 14. Каков наилучший способ получить местоположение посетителя сайта?
- 15. Каков наилучший способ узнать mvc в PHP?
- 16. Каков наилучший способ проверки IPv6 в PHP?
- 17. Каков наилучший способ реализации контроллера в PHP?
- 18. Каков наилучший способ нормализации «времени» в PHP?
- 19. Каков наилучший способ запуска PHP в Rails?
- 20. Каков наилучший способ управления QUERY_STRING в php?
- 21. Каков наилучший способ генерации Excel в PHP?
- 22. Каков наилучший способ написать php mysql?
- 23. Получить дробную часть числа с помощью IEEE754
- 24. Получить полную и дробную часть двойного
- 25. Каков наилучший способ получить информацию от Sphinx (в PHP)?
- 26. Каков наилучший способ получить переменную конфигурации в PHP
- 27. Каков наилучший способ кодирования CSS
- 28. Каков наилучший способ включить только файл PHP?
- 29. Каков наилучший способ работы с php?
- 30. Каков наилучший способ скрыть исходный код PHP?
это не сработает, если вы имеете дело с числом с плавающей точкой, например = 0,25 – 2012-09-06 12:14:44
$ x = fmod ($ x, 1); – primo 2012-10-12 06:43:22