#40653 [NEW]: strval() and floatval() behave differently

Ask a Question related to PHP Bugs, Design and Development.

  1. #1

    Default #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

  2. Similar Questions and Discussions

    1. #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...
    2. 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...
    3. 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!
    4. 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 '='...
    5. 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"...
  3. #2

    Default #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

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139