ID:               41681
 Updated by:       [EMAIL PROTECTED]
 Reported By:      rich at corephp dot co dot uk
 Status:           Closed
 Bug Type:         Filter related
 Operating System: Windows XP SP2
 PHP Version:      5.2.3
 Assigned To:      pajoye
 New Comment:

"By 'the decimal option was missing as well' do you mean the
FILTER_FLAG_ALLOW_FRACTION flag?"

I meant the decimal separator. You can define which character has to be
used as decimal separator. See the test case 031.phpt for examples
(links pasted earlier).


Previous Comments:
------------------------------------------------------------------------

[2007-06-14 13:09:15] rich at corephp dot co dot uk

By 'the decimal option was missing as well' do you mean the
FILTER_FLAG_ALLOW_FRACTION flag? If so I have found that using that
makes no difference at all:

$val = 33.4;
$result = filter_var($val, FILTER_VALIDATE_FLOAT,
FILTER_FLAG_ALLOW_FRACTION);
var_dump($val);
var_dump($result);

$val = 4.99;
$result = filter_var($val, FILTER_VALIDATE_FLOAT);
var_dump($val);
var_dump($result);

The first allows decimals and the float is created. The second doesn't
specify decimals, but the float is still created. Using the German
decimal notation (3,99) causes a boolean(false) regardless of the
allow_fraction flag being present or not.

Unless there is another flag you meant?

------------------------------------------------------------------------

[2007-06-14 08:04:13] [EMAIL PROTECTED]

"Then the 'bug' is simply in the documentation, because the thousands
flag is *not* listed as a valid flag for that filter, and according to
what you said, it should be."

Good point, and the decimal option was missing as well. It is fixed in
CVS, it will show up in the next manual update.

Thanks for your report!

------------------------------------------------------------------------

[2007-06-14 07:53:31] rich at corephp dot co dot uk

Then the 'bug' is simply in the documentation, because the thousands
flag is *not* listed as a valid flag for that filter, and according to
what you said, it should be.

------------------------------------------------------------------------

[2007-06-14 05:30:03] [EMAIL PROTECTED]

"In which case why does the "allow thousands flag work"

Because the thousand separator can be , ' or even . There is also an
option to define it.

The scientific format is support by default, always. Just like a
(float)$var.

Finally, "e34200" is not a valid scientific format. Please refer to the
various tests cases in the filter extensions to see other examples
(http://cvs.php.net/viewvc.cgi/php-src/ext/filter/tests/).

------------------------------------------------------------------------

[2007-06-13 23:22:02] rich at corephp dot co dot uk

I understand that, in which case why does the "allow thousands" flag
work? One way or the other it is inconsistent. Either the bug is that
the allow thousands flag works, or the bug is that allow scientific
doesn't.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/41681

-- 
Edit this bug report at http://bugs.php.net/?id=41681&edit=1

Reply via email to