PYTHON number_format

is this article helpful?
|
Python replacement for PHP's number_format [ edit | history ]
import locale

def number_format(num, places=0):
    return locale.format("%.*f", (places, num), True)

if __name__ == '__main__':
    locale.setlocale(locale.LC_NUMERIC, '')
    print number_format(12345.6789, 2)

PHP number_format

PHP original manual for number_format [ show | php.net ]

number_format

(PHP 4, PHP 5)

number_formatFormat a number with grouped thousands

Description

string number_format ( float $number [, int $decimals ] )
string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )

This function accepts either one, two, or four parameters (not three):

If only one parameter is given, number will be formatted without decimals, but with a comma (",") between every group of thousands.

If two parameters are given, number will be formatted with decimals decimals with a dot (".") in front, and a comma (",") between every group of thousands.

If all four parameters are given, number will be formatted with decimals decimals, dec_point instead of a dot (".") before the decimals and thousands_sep instead of a comma (",") between every group of thousands.

Return Values

A formatted version of number .

Parameters

number

The number being formatted.

decimals

Sets the number of decimal points.

dec_point

Sets the separator for the decimal point.

thousands_sep

Sets the thousands separator.

Only the first character of thousands_sep is used. For example, if you use bar as thousands_sep on the number 1000, number_format() will return 1b000.

Examples

Example #1 number_format() Example

For instance, French notation usually use two decimals, comma (',') as decimal separator, and space (' ') as thousand separator. This is achieved with this line :

<?php

$number 
1234.56;

// english notation (default)
$english_format_number number_format($number);
// 1,235

// French notation
$nombre_format_francais number_format($number2','' ');
// 1 234,56

$number 1234.5678;

// english notation without thousands seperator
$english_format_number number_format($number2'.''');
// 1234.57

?>

See Also