On Mon, Oct 13, 2003 at 03:23:53AM +1000, Wang Feng wrote:
: 
:  "1. An optional padding specifier that says what character will be used for
: padding the results to the right string size. This may be a space character
: or a 0 (zero character). The default is to pad with spaces. An alternate
: padding character can be specified by prefixing it with a single quote (').
: See the examples below."
: "3. An optional number, a width specifier that says how many characters
: (minimum) this conversion should result in."
: ---- http://au.php.net/manual/en/function.sprintf.php
: 
: Assume that $price=.65; then the "%0.2f" yields 0.65.
: 
: If we follow what the manual says, then can you tell me what the 0 is used
: for? Is it a (optional) paddinng spcifier OR is it a (optional) width
: specifier OR both? And why does it yiled 0.65 rather than .65?
: 
: (The manual doesn't explain things clear, man.)

The PHP manual is vague in several sections.  I wonder how bug reports
get submitted for it?

The optional specifiers to the left of the decimal place have a psuedo
last-to-first precedence.  For example:

        $price = .65;

        printf("'%8.2f'\n", $price);
        -> '       0.65'

This shows that there are 8 characters reserved for the number to the
left of the decimal.  Therefore, '8' is the width specifier.

        printf("'%-8.2f'\n", $price);
        -> '0.65       '

        printf("'%08.2f'\n", $price);
        -> '00000000.65'

        printf("'%0-8.2f'\n", $price);
        -> '0.650000000'

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

Reply via email to