Hallo,

Ik ben bezig een functie te maken die een ingevoerd bedrag omzet naar centen.
Output zou bv kunnen zijn:
12 -> 1200
11,5 -> 1150
8,52 -> 852

Ik heb nu de volgende functie gemaakt, hij is nog lang niet af maar ik heb een probleem waar ik niet uit kom.
Wat ik ook als input geef de eerste ereg check geeft altijd een True, ook als ik ene , gebruik of geen van beide:
$prijs  = "11.2";

if(ereg('.',$prijs)){ //Deze geeft altijd true:S
	$prijs_explode = explode(".", $prijs);
	if(strlen($prijs_explode['1']) == 1){
		$prijs = $prijs_explode['0'].$prijs_explode['1'].'0';
	}elseif(strlen($prijs_explode['1']) == 2){
		$prijs = $prijs_explode['0'].$prijs_explode['1'];
	}else{
		$prijs = $prijs_explode['0'].substr($prijs_explode['1'],0,2);
	}	
}elseif(ereg(',',$prijs)){
	$prijs_explode = explode(",", $prijs);
	if(strlen($prijs_explode['1']) == 1){
		$prijs = $prijs_explode['0'].$prijs_explode['1'].'0';
	}elseif(strlen($prijs_explode['1']) == 2){
		$prijs = $prijs_explode['0'].$prijs_explode['1'];
	}else{
		$prijs = $prijs_explode['0'].substr($prijs_explode['1'],0,2);
	}
}else{
	$prijs = $prijs.'00';
}

echo $prijs;


Nu heb ik ook al Eregi geprobeerd maar dit hielp, zoals verwacht, ook niet.

Paul du Long
Dimby
Kijk liever naar de preg_* functie's. Ereg_* zijn oud, traag, slecht en gaan weg.
Verder klopt het dat ie true geeft, punt match namelijk elk character:
http://en.wikipedia.org/wiki/Regular_expression
OMFG hoe kon ik zo dom zijn -.-'
Gewoon:


$prijs  = "11,2";

$prijs = $prijs*100;

echo $prijs;


kan dus dicht
Wij doen niet aan dicht.

Reageren