Dron19
15.01.2010 - 04:39
А можно например так:
$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
15.01.2010 - 05:02
Во втором случае число просто разбивается на две части и эта программа должна вывести на экран такой результат: 1 пример - 8; 2 пример - Целая часть числа - 14 Дробная часть числа - 8
_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
вот уж что лишнее - -так это выделять части регуляркой=) Нафига козе боян?(с)
_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."
Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. ©
AllesKlar
Dron19
15.01.2010 - 05:15
Цитата (vital @ 15.01.2010 - 01:03) |
вот уж что лишнее - -так это выделять части регуляркой=) Нафига козе боян?(с) |
Это просто был пример. Да и "баян" пишется через "а".
_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
Цитата (Dron19 @ 15.01.2010 - 01:15) |
Да и "баян" пишется через "а". |
А вот учить меня орфографии не надо. Я знаю, что пишу. А вам советую книжки почитать.
Боян
_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."
Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. ©
AllesKlar
akupaka
15.01.2010 - 12:22
топикпастер, а аватар весьма удачно тебе подходит
ищи по словам fraction и
php, к сожалению, не знаю встроенной функции.
модуль дробной части можно определить как разницу между модулем результата деления двух чисел и модулем целой части от этого деления.
например, {a/b} = abs(a/b) - floor(abs(a/b))
если нужно со знаком, то надо немного подумать самому
floor() должно вернуть ближайшее наименьшее целое от аргумента, поэтому мы берем модуль от деления, т.к. при отрицательных значениях будем получать неверный результат.
конечно, могу ошибиться, давно в третьем классе не был я )))
Как все просто оказалось
Всем спасибо!
Dron19
16.01.2010 - 00:04
Цитата (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
26.01.2011 - 03:49
ГостьОткопал мертвеца?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
а можно еще остаток от деления поделить на знаменатель ... и умножить на 10
Гость_Igor
14.03.2012 - 17:54
Топикстартер, тебе нужен не остаток от деления, а дробная часть. Выражай мысли правильно.
Игорь_Vasinsky
14.03.2012 - 19:32
и эта тема привлекла 4,5 к юзеров с поисковиков
_____________
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
6.02.2013 - 11:01
Есть несколько способов... один из них %, но можно и округлением
http://pihpi.ru/celochislennoe-delenie-v-php-ostatok
sergeiss
6.02.2013 - 12:35
Игорь_Vasinsky, по состоянию на 6 февраля 2013 года уже 10900 просмотров!!! Да и отвечать еще продолжают, не глядя на даты создания темы и предыдущих ответов
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.