Christoph Zurnieden: Normalisieren von Gleitpunktzahlen (Stilfrage)

Beitrag lesen

Hallo,

Ich gehe mal davon aus, das Du eine Bruchdarstellung von Integern
wieder in "richtige" Integer umwandeln möchtest, ja?

nein - es sind keine Integers (jedenfalls nicht immer).

if ($nachkomma) { $vorkomma .= '.'; }

Deshalb hängt ich an $vorkomma ja auch den '.' an, falls in
$nachkomma noch etwas Signifikantes übrig geblieben ist (und nur dann).

123.1230000 zu 123123

Nicht ganz. ;-)
Den Dezimalpunkt brauche ich durchaus noch - jedenfalls manchmal.

Kein Problem, dann so:

$zahl =~ s/^(\d+)(.)(\d*?)(0*)$/$1$2$3/;

Kurzer Moment der Andacht, dann den hier:

$zahl1 =~ s/^(\d+.\d*?)(0*)$/$1/;

Geht das nicht irgendwie noch deutlich eleganter?

(Aber sprintf ist erstens teuer, sagt perldoc und zweitens war das
ja sowieso nicht gefragt ;-)

"sprintf" habe ich durchaus auch probiert, aber ohne Erfolg.
(Das ist mir zu "C-ish", um zu begreifen, wie ich das nutzen kann ...)

Aber nicht "C-ish" genug, das ich da auf Anhieb mit klar kam ;-)

so short

Christoph Zurnieden