|
użytkowników online: 26
|
OPINIE UŻYTKOWNIKÓW
|
Gratulacje i dzięki! Trafiłem tu przypadkiem poszukując informacji na temat php+mysql. Wiele polskich stron powiela identyczne przykłady, klonuje te same kursy i lekcje... ten serwis okazał sie inny. Zasada "problem - rozwiazanie - wyjaśnienie" zdaje egzamin - zapewnia jasną, jednoznaczną i pewną pomoc w konkretnym przypadku. Porady są warte swojej ceny, przede wszystkim ze względu na przyjazną (także dla początkujących) formę i treść oraz bogate i stale powiększane zasoby. Polecam i pozdrawiam!
Kamil Dmowski
Polski Czerwony Krzyż
|
|
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net
[Spis]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[X]
[W]
[Z]
money_format (PHP 4 >= 4.3.0, PHP 5) money_format -- Formats a number as a currency string Descriptionstring money_format ( string format, float number )
money_format() returns a formatted version of
number. This function wraps the C library
function strfmon(), with the difference that
this implementation converts only one number at a time.
Notatka:
The function money_format() is only defined if
the system has strfmon capabilities. For example, Windows does
not, so money_format() is undefined in Windows.
The format specification consists of the following sequence:
Notatka:
The LC_MONETARY category of the locale settings,
affects the behavior of this function. Use
setlocale() to set to the appropriate default locale
before using this function.
Characters before and after the formatting string will be returned
unchanged.
Przykład 1. money_format() Example
We will use different locales and format specifications to
illustrate the use of this function.
|
<?php
$number = 1234.56;
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
$number = -1234.5672;
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
echo money_format('%=*(#10.2n', $number) . "\n";
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
echo money_format($fmt, 1234.56) . "\n";
?>
|
|
See also: setlocale(),
number_format(),sprintf(),
printf() and sscanf().
User Contributed Notesadmin at sellchain dot com
12-Jan-2006 06:04
If you are just looking to format a counter or something that does not represent money, and you want to avoid rounding, etc, just use this on a NON-DECIMAL NUMBER.
<?
echo "2406 is now " . Thousands(2406);
function Thousands($amt) {
return number_format($amt,0,'',',')
}
?>
www dot spam at whoah dot net
26-Aug-2004 03:33
For users of Windows looking for basic number formatting such as decimal places, decimal seperator and thousands seperators use number_format() instead.
http://www.php.net/number_format
The Mighty Will
25-Jan-2004 09:14
I didn't see it mentioned here, yet it threw me for a loop. Once you use this function, you can no longer use these formatted numbers to perform normal math operations like addition. This may be true with other functions as well, but I personally have experience with this scenario.
Example:
$curOne = money_format('%#4n',123.05);
#returns $ 123.05
$curTwo = money_format('%#4n',41.95);
#returns $ 41.95
echo $curOne + $curTwo;
#this will return $ 0.00
Instead:
$curOne = 123.05;
#returns 123.05
$curTwo = 41.95;
#returns 41.95
echo money_format('%#4n',$curOne + $curTwo);
#this will return $ 165.00
stefan at ioc dot nl
15-Jan-2004 06:31
To display EUR or the euro-sign, try this:
<?php
setlocale(LC_ALL, 'nl_NL@euro');
echo money_format('%i', 10000);
echo "<br>";
echo htmlentities(money_format('%.2n', 10000),ENT_QUOTES,'ISO-8859-15');
?>
rs98101 at yahoo dot com
13-Jun-2003 08:54
For applications where precision matters (i.e. anything where accountants and auditors get involved) I would not recommend using floats to keep track of money. You will notice hard to trace rounding errors permeated through your application. Use this function only for values where precision is not a must.
|