Követelmények: Gyakran kerekítésre használják, és nem túl érzékenyek a pontossági követelményekre.
A két tizedesjegy kerekítéséhez a fejlesztő a következő kódot írta:
A kód nagyon egyszerű, fejlesztőkA tényleges eredmény 12,12 volt, ami ellentmondott a várt 12,13-as kerekítési eredménynek。
Ennek az oka az, hogy a Math.Round alapértelmezetten nem a kerekítési szabályt használja, hanem a köröket használja a párosításhoz.
Kerekítsd fel ötre, hogy párt alakíts ki
Az úgynevezett hatról ötre kerekítés, amely párt alkot, azt jelenti, hogy a jelentős számjegyek meghatározása után, ha a következő jelentős számjegy kisebb, mint 4, lefelé kerekítik; ha nagyobb, mint 6, akkor kerekítik fel eggyel. Ha a következő jelentős számjegy 5,
- Ha az 5 előtti szám páros, kerekítsd ötös és haladj előre eggyel
- Ha 5 páros szám előtt van, hagyjuk ki az 5-öt (0 páros).
Statisztikailag az egyenesre kerekítés pontosabb, mint az ötös kerekítés, mert sok számítás esetén az ötenként egyre kerekítve nagyobb számot eredményezhet.
Például:
1,15+1,25+1,35+1,45 = 5,2
Ha a jelentős számjegyek egy tizedesjegyűek, az eredményt a kerekítési elv alapján kapjuk
1,2 + 1,3 + 1,4 + 1,5 = 5,4
Az öt párosra kerekítve elért eredmény a
1,2 + 1,2 + 1,4 + 1,4 = 5,2
Ez azt mutatja, hogy a kerekítési szabály pontosabb eredményeket ad.
Math.Round
Hogyan használod a Math.Round-ot a várt kerekítés eléréséhez?
Valójában a Math.Round C#-ban számos túlterhelési módszert kínál, köztük két módszert:
Mindkét módszer egy harmadik paramétert, az úgynevezett módot, amely a MidpointRounding enumerációs változója két választható értékkel
- AwayFromZero – felkerekítés
- Egyenlőre – kerekítés egyenletesre
Ha ideális lekerekített eredményt szeretnénk, a következő kódot használhatjuk:
MidpointRounding felsorolás, ahogy az alábbiakban látható:
Utalás:A hiperlink bejelentkezés látható. |