2016-09-13 3 views
0

Der folgende Code wird 1000 in 1000 drehen:Entfernen Zahlenformatierung aus einem String

$price = '1000'; 
$price2 = number_format($price); 
echo $price2; 

Wie würde ich 1000 in 1000 drehen? Ich vermute, es ist etwas entlang der Linien von dieser wäre:

$price = '1,000'; 
$price2 = remove_format($price); 
echo $price2; 
+0

Es wird ein Format wie dieses geben '1,000.00' nach' number_form at 'so müssen Sie den Punkt auch entfernen, oder es ist egal? –

+1

@HailHydra Das ist seltsam, da es das nicht für mich tut –

+0

Es gibt keine magische Funktion, um dies zu tun, ohne zu wissen, wie das Format aussehen sollte (zB ',' ein Tausendertrennzeichen oder ein Dezimaltrennzeichen), aber schau dir den [Intl NumberFormat Parser] an (http://php.net/manual/en/numberformatter.parse.php) –

Antwort

1

Es ist etwas, das sehr einfach ist, aber ich werde es in eine Funktion für Sie.

Sie können dies tun, indem nur so etwas wie die str_replace() Funktion der , das ist, was ich mit kam zu entfernen:

Code:

function remove_format($text){ 
    $text = str_replace(",", "", $text) 
    return $text; 
} 
+0

oder' $ text = preg_replace befinden ("/[^0-9\.]/", "", $ text); 'wenn die Nummer wirklich schmutzig ist;) – plong0

+0

Ja, das könnte man auch verwenden, wenn man möchte. – FluxCoder

0

ich getestet habe es nicht, aber ich würde so etwas wie folgt verwenden:

$a = "1,000"; 
    $b = str_replace(',', '', $a); 
    if(is_numeric($b)) { 
     $a = $b; 
    } 
0
filter_var('1,000', FILTER_SANITIZE_NUMBER_INT)