- Fixed bug #43666 (Fixed code to use ODBC 3.52 datatypes for 64bit systems).
(Patrick)
- Fixed bug #43540 (rfc1867 handler newlength problem). (Arnaud)
+- Fixed bug #43053 (Regression: some numbers shown in scientific notation).
+ (int-e at gmx dot de)
- Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines).
(Nuno)
- Fixed bug #42604 ("make test" fails with --with-config-file-scan-dir=path).
--- /dev/null
+--TEST--
+Bug #43053 (Regression: some numbers shown in scientific notation)
+--FILE--
+<?php
+echo 1200000.00."\n";
+echo 1300000.00."\n";
+echo 1400000.00."\n";
+echo 1500000.00."\n";
+?>
+--EXPECT--
+1200000
+1300000
+1400000
+1500000
echo "Done\n";
?>
--EXPECTF--
-float(4083360297110%d)
+float(4.0833602971%dE+14)
float(4.7223664828%dE+21)
float(1.3521606402%dE+31)
float(1.9807040628%dE+27)
float(-100)
float(808792757210)
float(-4.5646456464565E+27)
-float(-11276204760067000)
+float(-1.1276204760067E+16)
Done
if (value(d) > 0.5 + value(eps))
goto bump_up;
else if (value(d) < 0.5 - value(eps)) {
- /* cut ALL traling zeros only if the number of chars is greater than precision
- * otherwise cut only extra zeros
- */
- if (k < ndigits) {
- while(*--s == '0' && (s - s0) > k);
- } else {
- while(*--s == '0');
- }
+ while(*--s == '0');
s++;
goto ret1;
}
[11]=>
float(123456789012)
[12]=>
- float(1234567890120)
+ float(1.23456789012E+12)
[13]=>
float(1.23456789012E+19)
}
\ No newline at end of file
-123456
123456
-123456
-120000
--120000
-+120000
--120000
+1.2e+5
+-1.2e+5
++1.2e+5
+-1.2e+5
123456
-123456
1.0E+5
-123456
123456
-123456
-120000
--120000
-+120000
--120000
+1.2E+5
+-1.2E+5
++1.2E+5
+-1.2E+5
*** Output for '%%%.2f' as the format parameter ***
%12345678900.00
*dst++ = '-';
}
- for (i = 0; i < ndigit && digits[i] != '\0'; i++);
-
- if ((decpt >= 0 && decpt - i > 4)
- || (decpt < 0 && decpt < -3)) { /* use E-style */
+ if ((decpt >= 0 && decpt > ndigit) || decpt < -3) { /* use E-style */
/* exponential format (e.g. 1.2345e+13) */
if (--decpt < 0) {
sign = 1;