Rynor stay hungry 22 Июл 2003 #1 как узнать величину дробной части числа? Уважаемые! из 0,34 мне необходимо получить 34 торможу - как. в Mathematical Functions ничего не нашел
как узнать величину дробной части числа? Уважаемые! из 0,34 мне необходимо получить 34 торможу - как. в Mathematical Functions ничего не нашел
tony2001 TeaM PHPClub 22 Июл 2003 #2 PHP: function get_fractions ($var) { $tmp = (float)$var - (float)floor($var); return (string)substr($tmp,strpos($tmp,".")+1); } примерно так.
PHP: function get_fractions ($var) { $tmp = (float)$var - (float)floor($var); return (string)substr($tmp,strpos($tmp,".")+1); } примерно так.
Rynor stay hungry 22 Июл 2003 #3 спасибо большое!!! я так и подумал - разве что через строчные функции.. эххх... не нужно было три года, да вот понадобилось
спасибо большое!!! я так и подумал - разве что через строчные функции.. эххх... не нужно было три года, да вот понадобилось
Rynor stay hungry 22 Июл 2003 #5 разве что точнее будет вот так: $tmp = (float)$var; return (string)substr($tmp, strpos($tmp, ".") + 1);
разве что точнее будет вот так: $tmp = (float)$var; return (string)substr($tmp, strpos($tmp, ".") + 1);
deek Новичок 22 Июл 2003 #7 классический способ: function getFraction($d) { while(floor($d) != $d) $d *= 10; return $d } в php не работает. об этом даже в мануале написано (Types, Floating point numbers), что float в php нельзя сравнивать напрямую. значит, можно через строки: function getFraction ($d) { while( (string) floor($d) != (string) $d) $d *= 10.0; return $d; }
классический способ: function getFraction($d) { while(floor($d) != $d) $d *= 10; return $d } в php не работает. об этом даже в мануале написано (Types, Floating point numbers), что float в php нельзя сравнивать напрямую. значит, можно через строки: function getFraction ($d) { while( (string) floor($d) != (string) $d) $d *= 10.0; return $d; }
Rynor stay hungry 22 Июл 2003 #8 спасибо! придется теперь выбирать что быстрее из предложенных трех решений, пока запулил первое, результатом доволен. $tmp = (float)$var; return substr($tmp, strpos($tmp, ".") + 1);
спасибо! придется теперь выбирать что быстрее из предложенных трех решений, пока запулил первое, результатом доволен. $tmp = (float)$var; return substr($tmp, strpos($tmp, ".") + 1);