Prasības: Bieži izmanto noapaļošanai un nav ļoti jutīgs pret precizitātes prasībām.
Lai panāktu divu decimāldaļu noapaļošanu, izstrādātājs uzrakstīja šādu kodu:
Kods ir ļoti vienkāršs, izstrādātājiFaktiskais rezultāts bija 12,12, kas bija pretrunā ar gaidāmo noapaļošanas rezultātu 12,13。
Šī rezultāta iemesls ir tāds, ka Math.Round pēc noklusējuma neizmanto noapaļošanas kārtulu, bet gan apaļus, lai padarītu pāra.
Noapaļojiet līdz pieciem, lai izveidotu pāri
Tā sauktā noapaļošana no sešiem līdz pieciem, lai izveidotu pāri, nozīmē, ka pēc zīmīgo ciparu noteikšanas, ja nākamais nozīmīgais cipars ir mazāks vai vienāds ar 4, to noapaļo uz leju; ja tas ir lielāks vai vienāds ar 6, noapaļo uz augšu par vienu. Ja nākamais zīmīgais cipars ir 5,
- Ja skaitlis pirms 5 ir nepāra, noapaļojiet piecus un virzieties uz priekšu par vienu
- Ja 5 ir pirms pāra skaitļa, izlaidiet 5 (0 ir pāra skaitlis).
Statistiski noapaļošana līdz pāra ir precīzāka nekā piecu noapaļošana, jo, ja ir daudz aprēķinu, noapaļošana ik pēc pieciem līdz vienam var radīt lielāku skaitli.
Piemēram:
1,15+1,25+1,35+1,45 = 5,2
Ja zīmīgie cipari ir viena zīme aiz komata, rezultātu iegūst, izmantojot noapaļošanas principu
1,2 + 1,3 + 1,4 + 1,5 = 5,4
Rezultāts, ko iegūst, noapaļojot līdz pieciem pāra skaitļiem, ir
1,2 + 1,2 + 1,4 + 1,4 = 5,2
Tas parāda, ka noapaļošanas noteikums dod precīzākus rezultātus.
Matemātika.Kārta
Tātad, kā jūs izmantojat Math.Round, lai sasniegtu gaidīto noapaļošanu?
Patiesībā Math.Round C# nodrošina daudzas pārslodzes metodes, tostarp divas metodes:
Abas metodes nodrošina trešo parametru, ko sauc par mode, kas ir MidpointRounding uzskaitījuma mainīgais ar divām atlasāmām vērtībām
- AwayFromZero - noapaļošana uz augšu
- Līdzpāra — noapaļošana līdz pāra noapaļošanai
Tātad, ja mēs vēlamies ideālu noapaļotu rezultātu, mēs varam izmantot šādu kodu:
MidpointNoapaļošanas uzskaitījums, kā parādīts tālāk:
Atsauce:Hipersaites pieteikšanās ir redzama. |