php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #17611 float takes away zeros at the end
Submitted: 2002-06-05 08:40 UTC Modified: 2002-06-06 08:02 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: fredrik dot soderquist at ks dot se Assigned:
Status: Not a bug Package: Math related
PHP Version: 4.2.1 OS: Linux: Debian potato
Private report: No CVE-ID: None
 [2002-06-05 08:40 UTC] fredrik dot soderquist at ks dot se
Sample script:
<?php

$a = "5.00";
$b = (float) $a; //returns 5
$c = (double) $a; //returns 5
$d = (real) $a; //returns 5
settype($a,"float"); //$a now returns 5 (gettype($a) returns double)

$e = "5.01";
$f = (float) $e; //returns 5.01 (gettype($f) returns double)

?>

My configure line:
./configure --prefix=/etc/php --exec-prefix=/etc/php/exec --with-sybase=/etc/freetds --with-apxs2=/etc/apache/bin/apxs --with-cpdflib=/usr/local/lib --enable-calender'

Comment:
In any ordanary programming langauge "float" always is a specified amount of numbers. Float in PHP seemes to remove the zeros. When I convert an interger (or any other type) to a floating number it should add the amount of zeros that are specified for the language. Ex: int a = 3; float a; a becomes 3.0.

You should at least be able to convert from a string such as "5.000000" to a float without it removing the zeros after the didget!


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-06-05 08:41 UTC] fredrik dot soderquist at ks dot se
Sample script:
<?php

$a = "5.00";
$b = (float) $a; //returns 5
$c = (double) $a; //returns 5
$d = (real) $a; //returns 5
settype($a,"float"); //$a now returns 5 (gettype($a) returns double)

$e = "5.01";
$f = (float) $e; //returns 5.01 (gettype($f) returns double)

?>

My configure line:
./configure --prefix=/etc/php --exec-prefix=/etc/php/exec
--with-sybase=/etc/freetds --with-apxs2=/etc/apache/bin/apxs
--with-cpdflib=/usr/local/lib --enable-calender

Comment:
In any ordanary programming langauge "float" always is a specified
amount of numbers. Float in PHP seemes to remove the zeros. When I
convert an interger (or any other type) to a floating number it should
add the amount of zeros that are specified for the language. Ex: int a =
3; float a; a becomes 3.0.

You should at least be able to convert from a string such as "5.000000"
to a float without it removing the zeros after the didget!
 [2002-06-06 04:23 UTC] sander@php.net
It doesn't remove them, it just doesn't display them by default. Use printf() & co or number_format().
 [2002-06-06 07:19 UTC] fredrik dot soderquist at ks dot se
I sorry for this bogus bug-report. I know understand the picture. You guys can delete this bug-report if you want.

It's seemes sooo obvious now! I fell so ashamed, i should have looked up how other languages treat float first.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC