[php] ereg problem :(
-
hi.
ich bekomme es einfach nicht hin. wahrscheinlich zu dumm für
ich habe eine zeile: $string = " 1.123 2.2 33.0 10003.345 "
letztendlich soll daraus dies werden: " 1.123 2.200 33.000 10003.345 "
also immer in dreistellige nachkommastellen umformen. wobei ein " 12.1234" technisch auch in " 12.123 " umgewandelt werden müsste. ich beschäftige mich erst seit kurzem mit regulären ausdrücken und bekomme es absolut nicht hin.falls jemand in der lage ist das problem zu lösen, wäre ich wirklich sehr dankbar.
-
Mit regulären Ausdrücken wird das sicher schwierig. Ich würde einfach den String mittels explode in ein Array überführen und dann jedes Element einzeln in die gewünschte Form bringen und an einem String anhängen (oder nachher wieder mittels implode)
-
danke für den tipp
hat geklappt.
-
flenders schrieb:
Mit regulären Ausdrücken wird das sicher schwierig.
Warum? Das hier sollte eigentlich gehen:
$neu=preg_replace('#\d+(\.\d+)?#e','sprintf(\'%.03f\',old);
Gruß Jens
-
Auch gut
- da sieht man eben, dass ich in regulären Ausdrücken nicht allzu sehr bewandert bin
-
Sa(n)dman schrieb:
$neu=preg_replace('#\d+(\.\d+)?#e','sprintf(\'%.03f\',old);
Sicher, das sprintf in dem Fall dann auch ausgeführt wird? Ich hatte mal soetwas ähnliches probiert - erfolglos.
Ok, geht. Danke.