note 109790 added to function.is-float
| From: | KIVagant at gmail dot com | Date: | Tue, 21 Aug 2012 12:04:32 +0000 |
| Subject: | note 109790 added to function.is-float | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-190154@lists.php.net to get a copy of this message | ||
Yet another regular expression for float in real life:
function isTrueFloat($val)
{
$pattern = '/^[-+]?(((\d+)\.?(\d+)?)|\.\d+)+([eE]?[+-]?\d+)?$/';
return (!is_bool($val) && (is_float($val) || preg_match($pattern, trim($val))));
}
// Matches:
1, -1, 1.0, -1.0, '1', '-1', '1.0', '-1.0', '2.1',
'0', 0, ' 0 ', ' 0.1 ', ' -0.0 ', -0.0, 3., '-3.',
'.27', .27, '-0', '+4', '1e2', '+1353.0316547',
'13213.032468e-13465', '-8E+3', '-1354.98879e+37436'
// Non-matches:
false, true, '', '-', '.a', '-1.a', '.a',
'.', '-.', '1+', '1.3+', 'a1', 'e.e',
'-e-4', 'e2', '8e', '3,25'
----
Server IP: 62.149.26.211
Probable Submitter: 93.75.224.66
----
Manual Page -- http://www.php.net/manual/en/function.is-float.php
Edit -- https://master.php.net/note/edit/109790
Del: integrated -- https://master.php.net/note/delete/109790/integrated
Del: useless -- https://master.php.net/note/delete/109790/useless
Del: bad code -- https://master.php.net/note/delete/109790/bad+code
Del: spam -- https://master.php.net/note/delete/109790/spam
Del: non-english -- https://master.php.net/note/delete/109790/non-english
Del: in docs -- https://master.php.net/note/delete/109790/in+docs
Del: other reasons-- https://master.php.net/note/delete/109790
Reject -- https://master.php.net/note/reject/109790
Search -- https://master.php.net/manage/user-notes.php