note 79391 added to function.localeconv

From: Date: Sat, 24 Nov 2007 21:15:27 +0000
Subject: note 79391 added to function.localeconv
Groups: php.notes 
Request: Send a blank email to php-notes+get-132544@lists.php.net to get a copy of this message
A function to get the right money & number formats: <?php function displayLocales($number, $isMoney, $lg='en_US.utf8') { $ret = setLocale(LC_ALL, $lg); setLocale(LC_TIME, 'Europe/Paris'); if ($ret===FALSE) { echo "Language '$lg' is not supported by this system.\n"; return; } $LocaleConfig = localeConv(); forEach($LocaleConfig as $key => $val) $$key = $val; // Sign specifications: if ($number>0) { $sign = $positive_sign; $sign_posn = $p_sign_posn; $sep_by_space = $p_sep_by_space; $cs_precedes = $p_cs_precedes; } else { $sign = $negative_sign; $sign_posn = $n_sign_posn; $sep_by_space = $n_sep_by_space; $cs_precedes = $n_cs_precedes; } // Number format: $n = number_format(abs($number), $frac_digits, $decimal_point, $thousands_sep); $n = str_replace(' ', '&nbsp;', $n); switch($sign_posn) { case 0: $n = "($n)"; break; case 1: $n = "$sign$n"; break; case 2: $n = "$n$sign"; break; case 3: $n = "$sign$n"; break; case 4: $n = "$n$sign"; break; default: $n = "$n [error sign_posn=$sign_posn&nbsp;!]"; } // Currency format: $m = number_format(abs($number), $frac_digits, $mon_decimal_point, $mon_thousands_sep); if ($sep_by_space) $space = ' '; else $space = ''; if ($cs_precedes) $m = "$currency_symbol$space$m"; else $m = "$m$space$currency_symbol"; $m = str_replace(' ', '&nbsp;', $m); switch($sign_posn) { case 0: $m = "($m)"; break; case 1: $m = "$sign$m"; break; case 2: $m = "$m$sign"; break; case 3: $m = "$sign$m"; break; case 4: $m = "$m$sign"; break; default: $m = "$m [error sign_posn=$sign_posn&nbsp;!]"; } if ($isMoney) return $m; else return $n; } $number = -12345.12345; echo '<div>'.displayLocales($number, FALSE)."</div>\n"; echo '<div>'.displayLocales($number, TRUE)."</div>\n"; ?> ---- Server IP: 217.174.196.197 Probable Submitter: 82.239.118.139 ---- Manual Page -- http://www.php.net/manual/en/function.localeconv.php Edit -- https://master.php.net/note/edit/79391 Del: integrated -- https://master.php.net/note/delete/79391/integrated Del: useless -- https://master.php.net/note/delete/79391/useless Del: bad code -- https://master.php.net/note/delete/79391/bad+code Del: spam -- https://master.php.net/note/delete/79391/spam Del: non-english -- https://master.php.net/note/delete/79391/non-english Del: in docs -- https://master.php.net/note/delete/79391/in+docs Del: other reasons-- https://master.php.net/note/delete/79391 Reject -- https://master.php.net/note/reject/79391 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#132544) next »