[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Остаток от деления в php
Страницы: 1, 2
Dron19
А можно например так:
  $test = "14.8"; if($test = preg_replace("/\b([0-9]+)\.([0-9]+)\b/","\\2",$test)) print $test; 
Код не проверял, написал по логике которая первая пришла в голову, если будут ошибки не обижайтесь, я только хотел помочь. Но по идеи я его написал для того, чтобы он выводил степень числа лежащего в переменной test. Конечно для новичка этот код разобрать будет трудно. Но можно вторым, более простым способом решить эту задачу. Например:
         $test = "14.8"; if($test = explode(".",$test)) {print "Целая часть числа - ".$test['0']." Дробная часть числа - ".$test['1']."";} 
В данном случае я просто режу переменную с числом на две части, из которых получается массив с элементами 0 и 1 в которых лежит целая часть числа и дробная. 0 - целая, 1 - дробная.

_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
Dron19
Во втором случае число просто разбивается на две части и эта программа должна вывести на экран такой результат: 1 пример - 8; 2 пример - Целая часть числа - 14 Дробная часть числа - 8

_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
vital
вот уж что лишнее - -так это выделять части регуляркой=) Нафига козе боян?(с)

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Dron19
Цитата (vital @ 15.01.2010 - 01:03)
вот уж что лишнее - -так это выделять части регуляркой=) Нафига козе боян?(с)

Это просто был пример. Да и "баян" пишется через "а".

_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
vital
Цитата (Dron19 @ 15.01.2010 - 01:15)
Да и "баян" пишется через "а".

А вот учить меня орфографии не надо. Я знаю, что пишу. А вам советую книжки почитать.
Боян

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
akupaka
топикпастер, а аватар весьма удачно тебе подходит wink.gif

ищи по словам fraction и php, к сожалению, не знаю встроенной функции.

модуль дробной части можно определить как разницу между модулем результата деления двух чисел и модулем целой части от этого деления.
например, {a/b} = abs(a/b) - floor(abs(a/b))
если нужно со знаком, то надо немного подумать самому wink.gif
floor() должно вернуть ближайшее наименьшее целое от аргумента, поэтому мы берем модуль от деления, т.к. при отрицательных значениях будем получать неверный результат.
конечно, могу ошибиться, давно в третьем классе не был я )))
tech
Как все просто оказалось unsure.gif Всем спасибо! rolleyes.gif
Dron19
Цитата (vital @ 15.01.2010 - 01:28)
Цитата (Dron19 @ 15.01.2010 - 01:15)
Да и "баян" пишется через "а".

А вот учить меня орфографии не надо. Я знаю, что пишу. А вам советую книжки почитать.
Боян

Зачем козе баян - это русская пословица говорящая о том, что козе не нужен инструмент, а Боян - это имя и все именапишутся с большой буквы. Следовательно писать нужно баян. И вообще я это говорю не для того, чтобы унизить Вас. А за материал СПАСИБО!

_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
Гость
Афтор топика жжот =)

Ну, в общем то, если действительно нужно получить ту часть числа, которая больше запятой, то предложенный вариант не очень то подойдёт, так как, например, 5/8 = 0.625 (после запятой 625, а предложенный выше вариант будет возвращать 6.25).

Поскольку количество знаков после запятой неизвестно, то проще всего решить эту задачу, работая с вещественным числом, как со строкой, например:

function afterComma($n)
{
$res = substr( $n, strpos($n,".")+1 );
if ($res=="") return 0; else return $res;
}

Пример использования:

echo ( afterComma( 5/2 ) );
inpost
Гость
Откопал мертвеца? smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
rik_i
а можно еще остаток от деления поделить на знаменатель ... и умножить на 10 wink.gif
Гость_Igor
Топикстартер, тебе нужен не остаток от деления, а дробная часть. Выражай мысли правильно.
Игорь_Vasinsky
и эта тема привлекла 4,5 к юзеров с поисковиков laugh.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
StagnantIce
Есть несколько способов... один из них %, но можно и округлением

http://pihpi.ru/celochislennoe-delenie-v-php-ostatok
sergeiss
Игорь_Vasinsky, по состоянию на 6 февраля 2013 года уже 10900 просмотров!!! Да и отвечать еще продолжают, не глядя на даты создания темы и предыдущих ответов smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.