|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2015-12-01 12:58 UTC] loco at andrews dot lv
Description:
------------
Different results are returned when running the test script and hitting browser refresh button:
--test 1--
Original number: 462.501
NumberFormatter::parseCurency() returns: 462.5
--test 2--
Original number: 462.501
NumberFormatter::parseCurency() returns: 462
--test 3--
Original number: 462.501
NumberFormatter::parseCurency() returns: 462.5
--test 4--
Original number: 462.501
NumberFormatter::parseCurency() returns: 462
....
Internationalization support enabled
version 1.1.0
ICU version 55.1
ICU Data version 55.1
Test script:
---------------
<?php
// Run this script then refresh the page several times in the browser
// in order to get different results
print "<pre>\n";
$number = 462.501;
print 'Original number: '.$number."\n\n";
$formatter = new NumberFormatter('nl_BE', NumberFormatter::CURRENCY);
$value = $formatter->format($number);
print 'NumberFormatter::parseCurency() returns: '.$formatter->parseCurrency($value, $currency)."\n";
print "</pre>\n";
?>
Expected result:
----------------
Original number: 462.501
NumberFormatter::parseCurency() returns: 462.5
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 13:00:01 2025 UTC |
I have seen this issue, too, on two Debian 8 servers (can only reproduce on one of them any longer). I run the following script: $formatter = new NumberFormatter('de_DE', NumberFormatter::DECIMAL); var_dump($formatter->parse('9,90')); Sometimes it outputs float(9.9), sometimes it outputs float(9). What could possibly cause this?