note 80281 added to function.number-format
| From: | www dot produkte24 dot com at osu1 dot php dot net | Date: | Tue, 08 Jan 2008 08:28:28 +0000 |
| Subject: | note 80281 added to function.number-format | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-134936@lists.php.net to get a copy of this message | ||
I have to verify price data from several formats, eg:
- 12.345,67 (German)
- 12,345.67 (English)
- 12 345,67 (French)
- 12'345,67 (Swiss)
Here is a quick function which helps me out of all this format mess, but please not the I only check
for:
- positive values
- max 2 digits on the right side (.12)
function mk_price_to_float($price){
$price = trim($price);
if(preg_match("~^([0-9]+|(?:(?:[0-9]{1,3}([.,'
]))+[0-9]{3})+)(([.,])[0-9]{1,2})?$~", $price, $r)){
if(!empty($r['2'])){
$pre = preg_replace("~[".$r['2']."]~", "",
$r['1']);
}else{
$pre = $r['1'];
}
if(!empty($r['4'])){
$post = ".".preg_replace("~[".$r['4']."]~", "",
$r['3']);
}else{
$post = false;
}
$form_price = $pre.$post;
return $form_price;
}
return false;
}
This code is used at http://www.produkte24.com/ and http://www.who-sells-it.com/ and works like a charm.
----
Server IP: 88.81.249.248
Probable Submitter: 92.112.155.5
----
Manual Page -- http://www.php.net/manual/en/function.number-format.php
Edit -- https://master.php.net/note/edit/80281
Del: integrated -- https://master.php.net/note/delete/80281/integrated
Del: useless -- https://master.php.net/note/delete/80281/useless
Del: bad code -- https://master.php.net/note/delete/80281/bad+code
Del: spam -- https://master.php.net/note/delete/80281/spam
Del: non-english -- https://master.php.net/note/delete/80281/non-english
Del: in docs -- https://master.php.net/note/delete/80281/in+docs
Del: other reasons-- https://master.php.net/note/delete/80281
Reject -- https://master.php.net/note/reject/80281
Search -- https://master.php.net/manage/user-notes.php