[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-general
Subject:    Re: [PHP] Any reason why printf() does not support formats with thousands separator?
From:       Per Jessen <per () computer ! org>
Date:       2017-07-10 14:59:38
Message-ID: ok04oq$p9t$1 () saturn ! local ! net
[Download RAW message or body]

Ryan Pallas wrote:

> On Mon, Jul 10, 2017 at 8:40 AM, Per Jessen <per@computer.org> wrote:
> 
>> John Iliffe wrote:
>>
>>> On Monday 10 July 2017 03:07:50 Per Jessen wrote:
>>>
>>>> $SUBJ says it all - I've recently discovered that a format such
>>>> as %'.2f" results in this:
>>>>
>>>> php -r "printf(\"%'.2f\", 23232323.237);"
>>>> 23232323.237000
>>>>
>>>> I know that number_format() will do the same, but I am given the
>>>> format spec as an interface, I would need to try to parse it and
>>>> then decide whether to use printf() or number_format().
>>>>
>>>
>>> Try
>>> php -r "printf(\"%.2f\", 232323.4567);"
>>> 232323.46
>>>
>>
>> That works, but doesn't do what I want - add thousands separators :-)
>>
>>
> From the manual [1]: "An alternate padding character can be specified
> by prefixing it with a single quote (')." and doesn't mention using it
> for thousands like the C printf does.

I had not actually read that bit, but I had noticed that the thousands
separator character was not mentioned (as opposed to the C version). 

It just seems such a really odd omission, so I got curious as to why.  I
wonder if anyone's written a fully C-compliant printf() for php? 



-- 
Per Jessen, Zürich (23.9 °C)
http://www.hostsuisse.com/ - dedicated server rental in Switzerland.


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic