Nõuded: Sageli kasutatakse ümardamiseks ja ei ole täpsusnõuete suhtes väga tundlik.
Kahe kümnendkoha ümardamiseks kirjutas arendaja järgmise koodi,
Kood on väga lihtne, arendajadTegelik tulemus oli 12,12, mis oli vastuolus oodatud ümardamise tulemusega 12,13。
Selle tulemuse põhjuseks on see, et Math.Round ei kasuta vaikimisi ümardamisreeglit, vaid hoopis voorusid, et saada paaris.
Ümarda viieni, et saada paar
Niinimetatud kuue kuni viie ümardamine paari moodustamiseks tähendab, et pärast oluliste numbrite määramist, kui järgmine oluline number on väiksem või võrdne 4-ga, ümardatakse see alla; kui see on suurem või võrdne 6-ga, ümardatakse see ühe võrra. Kui järgmine oluline number on 5,
- Kui number enne 5 on paaritu, ümardage viis üles ja liigume ühe võrra edasi
- Kui 5 on paarisarvu ees, jäta 5 vahele (0 on paaris).
Statistiliselt on ümardamine paarispunkti täpsem kui viie ümardamine, sest kui arvutusi on palju, võib iga viie ühe ühe ümardamine anda suurema arvu.
Näiteks:
1,15+1,25+1,35+1,45 = 5,2
Kui olulised numbrid on üks kümnendkoma, saadakse tulemus ümardamisprintsiibi abil
1,2 + 1,3 + 1,4 + 1,5 = 5,4
Tulemus, mis saadakse, ümardades viie paarisarvuni, on
1.2 + 1.2 + 1.4 + 1.4 = 5.2
See näitab, et ümardusreegel annab täpsemaid tulemusi.
Math.Round
Kuidas siis kasutada Math.Roundi, et saavutada oodatud ümardus?
Tegelikult pakub Math.Round C#-s palju ülekoormuse meetodeid, sealhulgas kahte meetodit:
Mõlemad meetodid pakuvad kolmandat parameetrit, mida nimetatakse režiimiks, mis on MidpointRounding'i loendusmuutuja kahe valitava väärtusega
- AwayFromZero – ümardamine üles
- ToEven – ümardamine ühtlaseks
Kui soovime ideaalset ümardatud tulemust, saame kasutada järgmist koodi:
MidpointRounding loendamine, nagu allpool näidatud:
Viide:Hüperlingi sisselogimine on nähtav. |