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