note 90389 added to function.hexdec
| From: | Ultimater at gmail dot com | Date: | Sun, 19 Apr 2009 20:54:21 +0000 |
| Subject: | note 90389 added to function.hexdec | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-153498@lists.php.net to get a copy of this message | ||
hexdec doesn't accept numbers following the period.
What if you have a number like c20.db18?
<?php
function floatinghexdec($str)
{
list($intgr,$hex)=explode('.',$str,2);
$intgr=ereg_replace("[^A-Fa-f0-9]", "", $intgr);
$hex=ereg_replace("[^A-Fa-f0-9]", "", $hex);
$answer=0;
for($i=0;$i < strlen($hex); $i++)
{
$digit=hexdec(substr($hex,$i,1))/16; // .f is 15/16 because in decimal .9 is 9/10
$answer += $digit/pow(16,$i);
}
return hexdec($intgr)+$answer;
}
echo floatinghexdec("ff.ff");//255.99609375
?>
----
Server IP: 208.69.120.35
Probable Submitter: 76.94.233.193
----
Manual Page -- http://www.php.net/manual/en/function.hexdec.php
Edit -- https://master.php.net/note/edit/90389
Del: integrated -- https://master.php.net/note/delete/90389/integrated
Del: useless -- https://master.php.net/note/delete/90389/useless
Del: bad code -- https://master.php.net/note/delete/90389/bad+code
Del: spam -- https://master.php.net/note/delete/90389/spam
Del: non-english -- https://master.php.net/note/delete/90389/non-english
Del: in docs -- https://master.php.net/note/delete/90389/in+docs
Del: other reasons-- https://master.php.net/note/delete/90389
Reject -- https://master.php.net/note/reject/90389
Search -- https://master.php.net/manage/user-notes.php