Avrunding av et tall i et hvilket som helst programmeringsspråk kan gjøres til et heltall eller til et gitt antall desimaler. I tillegg tar den også hensyn til i hvilken retning tallet er avrundet - til en større eller mindre verdi, samt matematisk til nærmeste side.

PHP bruker følgende funksjoner for å avrunde tall:

- avrunding – avrunding til nærmeste verdi;

- tak – avrunding opp til nærmeste verdi;

- etasje – avrunding ned til nærmeste verdi.

Avrunding til et heltall

Alle funksjoner bruker en flyttallverdi som hovedparameter. For eksempel:

$x = 123,4393;

Når vi utfører hver funksjon, får vi følgende verdier:

ekkotak($x); // 124 (til en større heltallsverdi)
ekkogulv($x); // 123 (til den nedre heltallsverdien)
ekko runde($x); // 123 (matematisk nærmest)

Ved matematisk avrunding tas verdien av nummeret til den avrundede delen i betraktning. Hvis det er mindre enn 5, avrundes det nedover. Hvis lik eller større enn 5, vil avrunding utføres. I dette tilfellet runder avrundingsfunksjonen ned, fordi verdien av brøkdelen er mindre enn 0,5. Hvis du bruker en verdi større enn, for eksempel:

$x = 123,5;

Som et resultat av avrunding får vi:

ekko runde($x); // 124

Avrunde et tall til et gitt antall desimaler

For slik avrunding av tall brukes kun avrundingsfunksjonen, som har en andre (valgfri) parameter som bestemmer avrundingsnøyaktigheten. Ved å angi det, kan du få det nødvendige antallet desimaler:

$x = 123,8393;
ekko runde($x, 1); // 123,8
ekko runde($x, 2); // 123,84
ekko runde($x, 3); // 123,839

Andre eksempler på avrunding

Hvis du plutselig trengte å implementere en mer eksotisk avrunding - til en større eller mindre verdi med et gitt antall desimaler, vil ytterligere operasjoner være nødvendig. Som nevnt ovenfor har tak- og gulvfunksjonene kun én parameter og vil ikke kunne avrunde tallet til spesifisert presisjon.

I slike tilfeller kan du multiplisere tallet for deretter å runde av på ønsket måte. Et tall må for eksempel rundes opp til en høyere verdi med to desimaler:

$x = 123,8313;
ekkotak($x * 100) / 100; // 123,84

Som et resultat får vi 123,84, selv om en lignende avrunding med avrundingsfunksjonen i dette tilfellet ville returnert 123,83.

Du kan gjøre det samme hvis du trenger å avrunde til en mindre verdi med en gitt presisjon:

$x = 123,8393;
ekkogulv($x * 100) / 100; // 123,83

God kveld venner, i dag fortsetter vi å studere PHP språk. Temaet vi skal studere i dag heter avrunde tall i PHP. Noen ganger, som et resultat av å utføre noen funksjoner, får du et resultat som ikke er et heltall, og du står overfor oppgaven med å oppnå et heltall. Det første eksemplet du tenker på er sidegenerering på nettstedet ditt. Og tre funksjoner hjelper deg med å løse et slikt problem: rund, tak, gulv.
La oss snakke om hver funksjon separat. Først rund funksjon omhandler avrunding av et flyttall. Som funksjonsparametere kan det bare ta et tall som skal avrundes, og som en andre parameter kan vi spesifisere et tall som vil bety antall sifre etter desimaltegn etter avrunding.
Sekund takfunksjon, lar deg runde en brøk opp, kun et tall for videre avrunding angis som en parameter.
Og den siste gulvfunksjon, motsatt tak, og håndterer avrunding nedover, og tar også én parameter. La oss nå se på hver funksjon med et eksempel.

ekko rund( 7.123 ). "
" ;

ekko runde( 7.492, 1 ). "
" ;

ekko runde( 7.92, 0 ). "
" ;

ekko "
" ;

ekko tak( 9.3 ). "
" ;

ekko tak( 9.8 ). "
" ;

ekko "
" ;

ekko gulv( 4.2 ). "
" ;

ekko gulv( 4.7 ). "
" ;

?>

Som du kan se, er alt ganske enkelt å bruke, bare se på resultatet av utførelsen av disse funksjonene, og du vil ikke lenger ha noen spørsmål.


Så jeg synes det er overflødig å kommentere, og på dette vil vi fullføre studiet av emnet. avrunde tall i PHP. Og for i dag sier jeg farvel til deg, ses snart.


Venner!
Vi er midt i en stor opprydding!
Feil og krumning av sider er mulig
Å se alt og raskt er ikke mulig!
Hvis du finner noen feil, så hvis det ikke er vanskelig for deg å skrive adressen ...
Du er her nå:

http://site/page/php/function/050_okruglit_tseloe_chislo_v_menshuyu_storonu_php.html

Rund et heltall nedover Php.

Vi har en annen oppgave - å runde et heltall ned, og alltid! Selv om det ikke er nok ett til ett tall foran og otsalnye nuller...!

Mest sannsynlig er det ikke klart ..., for eksempel har vi tallet 24 999, det må rundes ned. Hva vil vi ha 20.000

Vi har funksjoner som kan runde ned et heltall, men bare så lenge tallet ikke overstiger midten ...

Vi må runde tallet 24999

Rund(24999, -4);

Og vi får:

Men så snart vi passerer midten av 25.000, så runder denne funksjonen opp.

Jeg prøvde å finne en funksjon eller noen alternativer og generelt fant jeg ingenting! Men du må komme deg ut av situasjonen på en eller annen måte! Og vi har en oppgave. For denne funksjonen å runde et tall som er større enn 10 ned!

Hva bør gjøres!? Må ta

Alt er enkelt!

Og vi får akkurat det du trenger!

Resultat:

20000 Online avrunding til minste hele tall

For å sjekke avrundingen av et tall ned med Php - prøv å avrunde et hvilket som helst tall bortsett fra et enkelt siffer ...