Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 1|Válasz: 0

[Tippek] .NET/C# a Math.Round MidpointRound-ját használja a kerekítéshez

[Linket másol]
Közzétéve46 másodperccel ezelőtt | | | |
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ó.




Előző:WITH (NOLOCK) optimalizálás magas egyidejű EF Core lekérdezésekhez
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com