например $sumpay равняется скажем 0,1982 или 100,1982 немогу понять
как мне написать чтоб например если продолжить$sumpay_a получалась 0,19 и как второе 100,19
я не очень силен даже вообще не силен в php но мне очень пригодилось ваше решение етой проблемы
Спустя 47 минут, 8 секунд (13.07.2009 - 08:10) qpayct написал(а):
PHP |
round($sumpay, колличество_знаков_после_запятой); |
Спустя 58 минут, 57 секунд (13.07.2009 - 09:09) twin написал(а):
Судя по описанию задачи, тут все же нужно floor()
Спустя 1 час, 54 минуты, 25 секунд (13.07.2009 - 11:03) Игорь написал(а):
Всем спасибо за направление немного поиска в инете и проблему решил вот полное описание как делать
первоначальное $earn составляет скажем 0.1982
после этой функции
<?php function rti($earn){
$string = (string)($earn * 100);
$string_array = split("\.", $string);
$int = (int)$string_array[0];
$return = $int / 100;
return $return;}
?>
здесь на выходе получается 0.19
<?php echo(rti($earn));?>
очень благодарен за помощь в направлении поиска решения етой задачи
первоначальное $earn составляет скажем 0.1982
после этой функции
<?php function rti($earn){
$string = (string)($earn * 100);
$string_array = split("\.", $string);
$int = (int)$string_array[0];
$return = $int / 100;
return $return;}
?>
здесь на выходе получается 0.19
<?php echo(rti($earn));?>
очень благодарен за помощь в направлении поиска решения етой задачи
Спустя 5 минут, 50 секунд (13.07.2009 - 11:09) sergeiss написал(а):
А зачем нужен был весь этот изврат с написанием собственной функции, ежели показали в явном виде, какими ГОТОВЫМИ функциями можно пользоваться?
Ежели округление нужно только для вывода, то можно еще третий вариант предложить:
Ежели округление нужно только для вывода, то можно еще третий вариант предложить:
PHP |
printf( '%.2f', $earn); |
Спустя 13 минут, 22 секунды (13.07.2009 - 11:22) Игорь написал(а):
Незнаю может у когото етот способ и работает мож я чтото не так пишу
printf( '%.2f', $earn); но етот код у меня не работает
вообще можно поподробнее заместо f должнобыть написано floor ??
ето тогда получается print floor ('%.2floor',$earn); или как ето должно выглядеть у меня неработает не так как ты написал printf( '%.2f', $earn); и не так print floor ('%.2floor',$earn); что я нетак делаю ????
printf( '%.2f', $earn); но етот код у меня не работает
вообще можно поподробнее заместо f должнобыть написано floor ??
ето тогда получается print floor ('%.2floor',$earn); или как ето должно выглядеть у меня неработает не так как ты написал printf( '%.2f', $earn); и не так print floor ('%.2floor',$earn); что я нетак делаю ????
Спустя 21 минута, 34 секунды (13.07.2009 - 11:44) sergeiss написал(а):
Правильный вариант - что я написал.
PHP |
$earn=19.349820547809357; |
В браузере увидим число 19.35
Покажи целиком код, где ты это делаешь. Может быть, у тебя просто где-то ошибка, или такая логика, что на вывод числа не попадашь?
И еще вопрос: у тебя в получаемых величинах стоит запятая или точка? Если запятая, то надо на точку заменить сначала.
Спустя 43 минуты, 28 секунд (13.07.2009 - 12:28) twin написал(а):
Вообще то если я правильно поня, ни printf(), ни sprintf(), ни round() тут не подойдут, так как они округляют число по математическим правилам. А тут нужно округлить до меньшего.
Но и городить такой огород с конвертацией типов данных тоже не к чиму.
Есть же floor() и работает с числами. как положено.
Вот для любого количества знаков после запятой
Но и городить такой огород с конвертацией типов данных тоже не к чиму.
Есть же floor() и работает с числами. как положено.
Вот для любого количества знаков после запятой
PHP |
function format_num($num,$format = 0) |
Спустя 3 минуты, 3 секунды (13.07.2009 - 12:31) Игорь написал(а):
так твой вариан ето с округление в плюс чего ненучно делать при падсчетах больших сумм утот плюс быдет очень как не выгодный если у тебя скажем интернет магазин оптовой торговли ты не точто чтото заработаеш ты с таким подсчетом еще должен будеш где ты видел чтоб магазины округляли в плюс твой код неправильный
Спустя 15 минут, 44 секунды (13.07.2009 - 12:46) twin написал(а):
Это ты мне?
Спустя 4 минуты, 8 секунд (13.07.2009 - 12:50) sergeiss написал(а):
Подождите... Так надо просто обрезать число после определенного количества знаков после запятой, без округления?
Не проще ли тогда просто обрезать нужное количество знаков?
Не проще ли тогда просто обрезать нужное количество знаков?
PHP |
function format_num($num,$format = 1) |
PS. Игорь - так ты задачу почётче озвучь То ли округлить, то ли обрезать, то ли бабки не потерять...
Спустя 16 минут, 25 секунд (13.07.2009 - 13:07) twin написал(а):
А все таки без преобразований типов лучше. Быстрее работает)))