Perl heeft geen ingebouwde functie speciaal ontworpen om floating point getallen afronden op gehele getallen , maar u kunt uw eigen functie die de sprintf functie om deze nummers te ronden op het dichtstbijzijnde gehele bevat schrijven . De sprintf functie heeft twee argumenten , een formaat en een lijst. De lijst is gewoon het nummer dat u wilt afronden naar boven of beneden . Gebruik " % .0 f " als het formaat , waarin de functie die het nummer is floating point en je wilt afronden op nul cijfers achter de komma vertelt . Instructies 1 Open een Perl-programma bestand . Typ de volgende code : sub intCheck { mijn $ num = shift; terugkeer ( $ num = ~ m /^ \\ d + $ /) ; } Hierdoor ontstaat een functie genaamd " intCheck " dat eerst wordt een argument doorgegeven aan het en slaat het op een variabele genaamd " $ num , " dan geeft " waar" als dat is een geheel getal . of " false" als het niet Typ de volgende code 2 : sub ronde { mijn $ var = shift; if ( intCheck ( $ var - 0.5 ) ) { $ var = $ var + 0.1 ; } return sprintf ( " % .0 f " , $ var ) op Twitter ; } Dit creëert een functie genaamd " ronde . " Het krijgt het argument dat wordt doorgegeven aan het en slaat deze op in de ' var $ " variabele . Het roept dan de intCheck functie en passeert het variabel aantal min 0,5 . Als de intCheck functie retourneert " true , " de $ var heeft 0.1 toegevoegd. De ronde functie vervolgens rondes de variabele op het dichtstbijzijnde gehele getal en geeft het 3 Typ de volgende code : . Afdruk ronde ( 4.49 ) . " \\ n " ; afdruk ronde ( 4.51 ) . " \\ n " ; afdruk ronde ( 4.5 ) . " \\ n " ; Deze lijnen testen de ronde functie . De eerste regel rondes naar vier en de volgende twee regels boven afronden tot vijf . 4 Sla de Perl- bestand .
|