Hvordan runde til 2 desimaler i bash

Hvordan runde til 2 desimaler i bash
Bash er et kjent skall- og kommandospråk som brukes til å utføre oppgaver effektivt. Mens det jobber i bash -skripting og eksplisitt leker med de flytende tallene, er det ofte nødvendig å avrunde de flytende tallene. I dette innlegget lærer vi noen få kommandoer og teknikker for bash -skripting for å avrunde nummeret til 2 desimaler.

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.