Perl ikke har en innebygd funksjon spesielt utviklet for å avrunde flyttall til heltall , men du kan skrive din egen funksjon som inkorporerer sprintf funksjon å runde disse tallene til nærmeste hele . Den sprintf funksjonen tar to argumenter, et format og en liste . Listen er ganske enkelt nummeret du ønsker å runde opp eller ned. Bruk "% 0,0 f" som format , som forteller funksjon som nummeret er flyttall og du vil avrunde den til null siffer etter desimaltegnet . Instruksjoner
en
Åpne et Perl program fil . Skriv inn følgende kode :
sub intCheck {
min $ num = shift ;
avkastning ( $ num = ~ m /^ \\ d + $ /) ;
}
Dette skaper en funksjon som heter " intCheck " som først får et argument sendes til det, og lagrer det til en variabel kalt " $ num , " deretter returnerer "true" dersom det tallet er et heltall . eller " false" hvis det ikke er
2
Skriv inn følgende kode :
sub runde {
min $ var = shift ;
< p > if ( intCheck ( $ var - 0,5 ) ) {$ var = $ var + 0,1; }
retur sprintf ( "% 0,0 f" , $ var ) ;
}
Dette skaper en funksjon som heter "runde ". Det blir argumentet gått til det og lagrer det i " $ var " variable . Det kaller deretter intCheck funksjon og passerer variabelt antall minus 0,5 . Hvis intCheck funksjonen returnerer "true ", den $ var har 0,1 lagt til. Funksjonen round deretter runder variable til nærmeste hele tall og returnerer det
3
Skriv inn følgende kode : .
Print runde ( 4,49 ) . "\\ n";
print runde ( 4.51 ) . "\\ n";
print runde ( 4,5 ) . "\\ n";
Disse linjene teste runde funksjon . Den første linjen runder ned til fire og de neste to linjer runde opp til fem .
4
Lagre Perl -filen.