Ask a Question related to PHP Bugs, Design and Development.
-
plyrvt at mail dot ru #1
#40653 [NEW]: strval() and floatval() behave differently
From: plyrvt at mail dot ru
Operating system: Any
PHP version: 5.2.1
PHP Bug Type: Strings related
Bug description: strval() and floatval() behave differently
Description:
------------
Either strval() or floatval() is buggy. They can respect locale or ignore
locale, but at least both do things the same way!
Reproduce code:
---------------
<?php
setlocale(LC_NUMERIC, "ANY_LOCALE_WITH_,_SEPARATOR");
$f=1.2;
$s=strval($f);
$f=floatval($s);
var_dump($f);
// expected: 1.2 or 1,2
// actual: 1
?>
--
Edit bug report at [url]http://bugs.php.net/?id=40653&edit=1[/url]
--
Try a CVS snapshot (PHP 4.4): [url]http://bugs.php.net/fix.php?id=40653&r=trysnapshot44[/url]
Try a CVS snapshot (PHP 5.2): [url]http://bugs.php.net/fix.php?id=40653&r=trysnapshot52[/url]
Try a CVS snapshot (PHP 6.0): [url]http://bugs.php.net/fix.php?id=40653&r=trysnapshot60[/url]
Fixed in CVS: [url]http://bugs.php.net/fix.php?id=40653&r=fixedcvs[/url]
Fixed in release: [url]http://bugs.php.net/fix.php?id=40653&r=alreadyfixed[/url]
Need backtrace: [url]http://bugs.php.net/fix.php?id=40653&r=needtrace[/url]
Need Reproduce Script: [url]http://bugs.php.net/fix.php?id=40653&r=needscript[/url]
Try newer version: [url]http://bugs.php.net/fix.php?id=40653&r=oldversion[/url]
Not developer issue: [url]http://bugs.php.net/fix.php?id=40653&r=support[/url]
Expected behavior: [url]http://bugs.php.net/fix.php?id=40653&r=notwrong[/url]
Not enough info: [url]http://bugs.php.net/fix.php?id=40653&r=notenoughinfo[/url]
Submitted twice: [url]http://bugs.php.net/fix.php?id=40653&r=submittedtwice[/url]
register_globals: [url]http://bugs.php.net/fix.php?id=40653&r=globals[/url]
PHP 3 support discontinued: [url]http://bugs.php.net/fix.php?id=40653&r=php3[/url]
Daylight Savings: [url]http://bugs.php.net/fix.php?id=40653&r=dst[/url]
IIS Stability: [url]http://bugs.php.net/fix.php?id=40653&r=isapi[/url]
Install GNU Sed: [url]http://bugs.php.net/fix.php?id=40653&r=gnused[/url]
Floating point limitations: [url]http://bugs.php.net/fix.php?id=40653&r=float[/url]
No Zend Extensions: [url]http://bugs.php.net/fix.php?id=40653&r=nozend[/url]
MySQL Configuration Error: [url]http://bugs.php.net/fix.php?id=40653&r=mysqlcfg[/url]
plyrvt at mail dot ru Guest
-
#39879 [NEW]: strval not optimized
From: roberto at spadim dot com dot br Operating system: ALL PHP version: 5.2.0 PHP Bug Type: Performance problem Bug... -
Submenu layers won't behave...
Hello Dreamweaver Gurus, I'm still having problems with trying to imitate the submenu effect for this site. (Great effect by the way) I've got... -
map html files to behave as asp
Hi, Just a quick question. Can someone tell me how to map .html files to behave as .asp files on Windows 2003? Appreciate! -
Aliased setter methods behave differently than other methods?
Here's another question... I am aliasing and redefining certain methods, determined at runtime. Normal methods work fine, but methods ending in '='... -
Man command does not behave properly.
In article <BB2AE530.974A%michel_tremblay@hotmail.com>, Pierre-Michel Tremblay <michel_tremblay@hotmail.com> wrote: You might have "man"... -
tony2001@php.net #2
#40653 [Opn->Bgs]: strval() and floatval() behave differently
ID: 40653
Updated by: [email]tony2001@php.net[/email]
Reported By: plyrvt at mail dot ru
-Status: Open
+Status: Bogus
Bug Type: Strings related
Operating System: Any
PHP Version: 5.2.1
New Comment:
The point is that string representation of doubles (i.e.
double-to-string) always depends on locale settings.
But string-to-double always ignores locale and uses "." as decimal
separator.
That might sound inconsistent, but consider this first:
1) we DO want users to be able to output numbers in locale-dependent
format;
2) we DON'T want scripts to depend on locale or we may end up with
scripts working/not working with particular locales.
Previous Comments:
------------------------------------------------------------------------
[2007-02-27 01:39:51] plyrvt at mail dot ru
Description:
------------
Either strval() or floatval() is buggy. They can respect locale or
ignore locale, but at least both do things the same way!
Reproduce code:
---------------
<?php
setlocale(LC_NUMERIC, "ANY_LOCALE_WITH_,_SEPARATOR");
$f=1.2;
$s=strval($f);
$f=floatval($s);
var_dump($f);
// expected: 1.2 or 1,2
// actual: 1
?>
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=40653&edit=1[/url]
tony2001@php.net Guest



Reply With Quote

