1
Hinzufügen von 15-stellige Zahlen wie 999999999999990
in Perl führt zu Ergebnissen mit einer Periode wie 1.9999999999999e+.
Wenn substr
mit ihm produziert noch 1.99999999999
, und bei der Verwendung von BigInt
das Ergebnis immer noch eine Periode hat. Wie lautet die korrekte Perl-Syntax für Perl 5.8.7, um das Ergebnis ohne den Punkt zu erhalten?Warum erhalte ich in meinen BigInt-Nummern einen Dezimalpunkt?
use BigInt;
$acct_hash = substr(($acct_hash + $data[1]),0,15);
BigInt.pm -> /opt/perl5.8.7/lib/5.8.7/Math/BigInt.pm
BigInt -> /opt/perl5.8.7/lib/5.8.7/Math/BigInt.pm
Hallo, das sind die Fehler: Variable "$ acct_hash" nicht an s.pl Linie 416. Variable „$ importiert acct_hash "wird nicht in s.pl-Zeile 416 importiert. Die Variable" @data "wird nicht in der s.pl-Zeile 416 importiert. Das globale Symbol" $ acct_hash "erfordert einen expliziten Paketnamen unter s.pl-Zeile 416. Globales Symbol" $ acct_hash "erfordert einen expliziten Paketnamen unter s.pl Zeile 416. Globales Symbol "@data" benötigt expliziten Paketnamen bei s.pl Zeile 416. BEGIN nicht sicher nach Fehlern - Kompilation abgebrochen bei s.pl Zeile 417. Danke Chas –
Das ist das strikte Pragma, dass du schlecht machst Dinge. Sie können das strikte Pragma entfernen, um das Skript ausführen zu lassen, aber die Fehler befinden sich weiterhin in Ihrem Code. Sie sollten Ihre Variablen deklarieren, bevor Sie sie mit der my-Funktion verwenden: http://perldoc.perl.org/functions/my.html –
Sie stellen diese Frage und ich kann nicht herausfinden, wie ich Ihnen antworten soll, weil ich keine Ahnung habe warum substr ist hier relevant. –