This is a discussion on Truncate a decimal pointed figure without rounding ... within the PHP Language forums, part of the PHP Programming Forums category; How can I get -0.162058 to -0.1 rather than rounding to -0.2? I know I'm being ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
elyob wrote:
> How can I get -0.162058 to -0.1 rather than rounding to -0.2? > > I know I'm being stupid here, but it's really bugging me. The number before > the decimal point could 0 - 999 Something like this? <?php function number_trim($x) { if ($x<0) return ceil($x); else return floor($x); } $x = -0.162058; echo number_trim($x*10), "\n"; ?> -- ..sig |
|
|||
|
Hello,
elyob wrote: > How can I get -0.162058 to -0.1 rather than rounding to -0.2? > I know I'm being stupid here, but it's really bugging me. The number > before the decimal point could 0 - 999 After making a function myself that was just far more complex than needed, I saw in the user contributed notes of the manual that someone contributed a suggestion for such function : jbeardsl [found_at] gte [d0t] net 08-Nov-2002 01:15 I was looking for a truncate function. Not finding one, I wrote my own. Since it deals with everything as a number, I imagine it's faster than the alternative of using string functions. HTH... function truncate ($num, $digits = 0) { //provide the real number, and the number of //digits right of the decimal you want to keep. $shift = pow(10, $digits); return ((floor($num * $shift)) / $shift); } Best regards, Eric |
|
|||
|
"Eric Veltman" <eric@[RemoveThis]veltman.nu> wrote in message news:vqnuqliq258v4f@corp.supernews.com... > Hello, > > elyob wrote: > > > How can I get -0.162058 to -0.1 rather than rounding to -0.2? > > I know I'm being stupid here, but it's really bugging me. The number > > before the decimal point could 0 - 999 > > After making a function myself that was just far more complex > than needed, I saw in the user contributed notes of the manual > that someone contributed a suggestion for such function : > > jbeardsl [found_at] gte [d0t] net > 08-Nov-2002 01:15 > I was looking for a truncate function. Not finding one, I wrote my own. > Since it deals with everything as a number, I imagine it's faster than the > alternative of using string functions. HTH... <snip> Couldn't get this to work. In the end I exploded by the "." and substr'd the [1] Thanks for help |
|
|||
|
"Pedro Graca" <hexkid@hotpop.com> wrote in message news:bogtui$1cukm8$1@ID-203069.news.uni-berlin.de... > elyob wrote: > > How can I get -0.162058 to -0.1 rather than rounding to -0.2? > > > > I know I'm being stupid here, but it's really bugging me. The number before > > the decimal point could 0 - 999 > > Something like this? > > <?php > function number_trim($x) { > if ($x<0) > return ceil($x); > else > return floor($x); > } > > $x = -0.162058; > echo number_trim($x*10), "\n"; > ?> Didn't seem to want to work for me ... found a different method (as in other reply). Thanks |