Mens du viser tallene eller variablene som inkluderer floatnumre i dem, kan forskjellige kommandoer skrive ut teksten eller variablene som ekko, skrive ut, og printf. Selv om vi kan vise variablene og tallene direkte fra slike kommandoer, er imidlertid den eneste kommandoen som har noen ekstra funksjoner og muligheter printf -kommando Det angår målet vårt.
printf -kommando
De printf Kommandoen ligner på printf () -funksjonen på C -språk. Det lar oss formatere og skrive ut argumentene.
Syntaks
Syntaksen for å skrive Printf -kommandoen i bash er:
printf "streng" argumenter
I Printf -kommandoen må vi først gi strengen i inverterte komma, og så kan vi gi den argumentene.
Eksempel
La oss først skrive ut en enkel tekst ved hjelp av Printf -kommandoen:
printf "Hei fra Linuxhint.""
Du kan se at den nettopp har skrevet ut strengen, men brukernavnet og vertsnavnet kommer rett etter strengen.
For å få strengen i en enkelt linje, kan vi bruke Newline -tegnet '\ n' for å ha den rene og klare utgangen:
printf "hei fra linuxhint \ n"
Nå har vi en ren og klar produksjon.
La oss nå se hvordan du kan gi argumentene for å gi denne Printf -kommandoen et flottørnummer og avrunde det.
For å gi argumentene, må vi bruke spesifikasjonen (%s) i strengen som vil bli erstattet av argumentene som er gitt. For eksempel:
printf "Brukernummer: %s \ n" 24
OK, nå har du forstått den primære bruken og funksjonaliteten til Printf -kommandoen. La oss gi det et flottørnummer og se hvordan du kan avrunde til 2 desimaler.
Presisjonsdirektiv
Presisjonsmodifiserer brukes til avrunding av et flottørnummer.
Syntaksen for å skrive en presisjonsmodifiserer er å gi antall desimaler du vil avrunde tallet etterfulgt av prikken (.).
"%.2f "
For å avrunde et flottørnummer til 2 desimaler, kan du utføre Printf -kommandoen som vist nedenfor:
printf "%.2f \ n "4.4444
Du kan se på skjermbildet vedlagt at tallet “4.4444 ”er avrundet til“ 4.44 ”, som vi ønsket at det skulle være.
Tilsvarende, i stedet for direkte å gi det et nummer, kan vi også gi en variabel her.
Num = 4.4444
printf "%.2f \ n "$ num
For å gi flere verdier:
num1 = 3.333
num2 = 4.4444
printf "%.2f %.3f \ n "$ num1 $ num2
Hvis du fremdeles vil bruke Echo -kommandoen og avrunde nummeret, må du i så fall bruke Echo -kommandoen med AWK -kommando for å avrunde nummeret som vist nedenfor:
ekko "3.333 "| awk 'printf ("%.2f \ n ", $ 1) '
ELLER
num = 3.333
ekko num | awk 'printf ("%.2f \ n ", $ 1) '
Konklusjon
Dette innlegget inneholder en detaljert og dyp guide om Printf -kommandoen, og vi har lært å avrunde et hvilket som helst tall til 2 desimaler ved hjelp av Printf -kommandoen. I tillegg har vi prøvd flere eksempler for å ha god kunnskap om hvordan du bruker presisjonsmodifisereren til å avrunde et nummer ved å bruke Printf -kommandoen. Dessuten lærte vi å avrunde et hvilket som helst flytnummer ved hjelp av Echo og AWK -kommandoen.