0+
ist ein bisschen mehr idiomatisch. Es wird normalerweise verwendet, um die Komponenten von Dualvars zu unterscheiden.
$ perl -E'
system({ "nonexistant" } "nonexistant");
say 0+$!, ": ", $!;
'
2: No such file or directory
Es sieht seltsam aus, weil es nicht etwas ist, das Sie normalerweise tun müssen. Eine Zahl ist eine Zahl, unabhängig davon, ob sie intern als PV, IV, UV oder NV gespeichert ist. Es zu zwingen, dass es als NV (Float) gespeichert wird, sollte nicht notwendig sein, und es deutet normalerweise auf Buggy-Design an anderer Stelle hin.
Haben Sie sich http://stackoverflow.com/questions/2019178/how-can-i-convert-a-string-to-a-float-with-perl angesehen? –
@Jessada. es ist nicht nützlich. Es wurde nicht darüber gesprochen, wie man konvertiert. – Bala
@Hindol int() wird ganzzahligen Wert geben ... int (10.05000) = 10 – Bala