Thread Suche Perlentsprechung für javascript toString()
(6 answers)
Opened by KKO at 2010-04-24 12:02
Für die Zahlensysteme zur Basis 2, 8, 10 und 16 gibt es Möglichkeiten mit Perls eingebauten Funktionen zwischen Strings und natürlichen Zahlen zu konvertieren:
Generische Funktionen für andere Basen gibt es zwar nicht, es ist aber auch nicht schwer, sich die entsprechenden Funktionen selbst zu schreiben: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 use 5.012; use List::Util qw[reduce]; sub str2num { my ($str, $base) = @_; reduce { $a * $base + $b } 0, split //, $str; } sub num2str { my ($num, $base) = @_; if ($num > 0) { num2str(int($num / $base), $base) . ($num % $base); } else { '0'; } } Die Behandlung negativer Zahlen und von Zahlensystemen mit einer Basis größer als 10 seien dem Leser als Übung überlassen ;-) When C++ is your hammer, every problem looks like your thumb.
|