Re: Re: bcmath integer type?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2009-05-07 at 21:45 -0700, Michael A. Peters wrote:
> Michael A. Peters wrote:
> > I'm having a problem with db2 and prepared statements.
> > var_dump indicates that some variables that should be type int are type 
> > text.
> > 
> > These variables are the output of bcmath equations, and are integer.
> > 
> > Does bcmath for some reason output a text type?
> > 
> > I can fix it by adding 0 but I want to know if I'm using bcmath 
> > incorrectly.
> > 
> 
> LOL - I would like to know if bcmath is suppose to return int (I'm 
> guessing yes so it can deal with numbers outside of fp math) but I don't 
> think that was the issue.
> 
> $foo[] = Array($var1,$var2)
> 
> was my problem ... notice the [] ;)

>From the documentation at: 

    http://ca2.php.net/manual/en/function.bcadd.php

We see that bcadd has the prototype:

    string bcadd ( string $left_operand , string $right_operand [, int
$scale ] )

See the "string", that's because it takes strings and returns strings.
The reason why is in the description:

    Add two arbitrary precision numbers

That arbitrary part rules out integers or even floats since they are
fixed width datatypes (fixed width with respect to the number of bits
available to represent them). It may not be the case with what your
doing, but with large enough (positive or negative numbers), or numbers
with sufficient decimal places) you WILL lose precision by converting to
a real integer or floating point value.

If you don't need "arbitrary" precision functionality, then don't use
the bcxxx() functions since they are MUCH slower than doing normal math.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux