#40156 [Bgs->Opn]: FILTER_SANITIZE_NUMBER_FLOAT incorrect when multiple dots in value
| From: | pmjones88 at gmail dot com | Date: | Wed, 17 Jan 2007 20:23:14 +0000 |
| Subject: | #40156 [Bgs->Opn]: FILTER_SANITIZE_NUMBER_FLOAT incorrect when multiple dots in value | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-107694@lists.php.net to get a copy of this message | ||
ID: 40156
User updated by: pmjones88 at gmail dot com
Reported By: pmjones88 at gmail dot com
-Status: Bogus
+Status: Open
Bug Type: Filter related
Operating System: Mac OS X
PHP Version: 5.2.0
New Comment:
Then it should at least fail when it realizes that the value isn't
going to be useful as a float. Maybe I don't get it; a "sanitized"
float should return as a "float". Otherwise you're just stripping
non-numeric characters, which is not quote the same thing.
Previous Comments:
------------------------------------------------------------------------
[2007-01-17 20:12:06] tony2001@php.net
http://php.net/filter
FILTER_SANITIZE_NUMBER_FLOAT - Remove all characters except digits, +-
and optionally .,eE.
It's not supposed to validate the result.
------------------------------------------------------------------------
[2007-01-17 20:11:15] pajoye@php.net
Use FILTER_VALIDATE_FLOAT if you like to validate a string and get a
float value. Sanitizing filters only clean the string.
------------------------------------------------------------------------
[2007-01-17 20:01:27] pmjones88 at gmail dot com
Description:
------------
When using FILTER_SANITIZE_NUMBER_FLOAT with
FILTER_FLAG_ALLOW_FRACTION, it seems to allow any number of decimal
points, not just a single decimal point. This results in an invalid
value being reported as sanitized.
Reproduce code:
---------------
<?php
$val = 'abc ... 123.45 ,.../';
$san = filter_var($val, FILTER_SANITIZE_NUMBER_FLOAT,
FILTER_FLAG_ALLOW_FRACTION);
var_dump($san);
?>
Expected result:
----------------
float 123.45
Actual result:
--------------
string(12) "...123.45..."
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40156&edit=1