RE: [PHP] Need unrounded precision
| From: | Arno Kuhl | Date: | Mon, 12 Oct 2009 06:37:21 +0000 |
| Subject: | RE: [PHP] Need unrounded precision | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-298850@lists.php.net to get a copy of this message | ||
-----Original Message-----
From: Andre Dubuc [mailto:aajdubuc@webhart.net]
Sent: 02 January 2010 03:20 AM
To: php-general@lists.php.net
Subject: [PHP] Need unrounded precision
Hi,
I need to extract the first digit after the decimal point from a number such
as 28.56018, which should be '5'.
I've tried a few methods to accomplish this. If I use 'ini_set' I would need
to know the number of digits before the decimal (which, unfortunately, I
would not have access to).
Then I've tried:
<?php
$elapsed = 28.56018;
$digit = round($elapsed, 1); // rounds result is '6'
$digit = number_format($elapsed, 1); // still rounds result to '6'
?>
What I need is only the first digit after the decimal -- all the rest could
be 'chopped' or discarded but without rounding the first digit after the
decimal point.
Is there any way of doing this?
I'm stumped.
Tia,
Andre
--
One way that should work regardless the number of digits before/after the
decimal is:
- convert to string (sprintf or typecast)
- strpos the decimal
- grab the char from the next position
Cheers
Arno