Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 1|Svare: 0

[Tips] .NET/C# bruker Math.Rounds MidpointRounding for avrunding

[Kopier lenke]
Publisert påFor 46 sekunder siden | | | |
Krav: Brukes ofte til avrunding og er ikke særlig følsom for presisjonskrav.

For å oppnå avrunding med to desimaler, skrev utvikleren følgende kode,
Koden er veldig enkel, utviklereDet faktiske resultatet var 12,12, noe som motsa det forventede avrundingsresultatet på 12,13

Årsaken til dette resultatet er at Math.Round ikke bruker avrundingsregelen som standard, men heller runder for å lage partall.

Rund opp til fem for å lage et par

Den såkalte avrundingen av seks til fem for å danne et par betyr at etter å ha bestemt de signifikante sifrene, hvis neste signifikante siffer er mindre enn eller lik 4, rundes det ned; hvis det er større enn eller lik 6, runder opp med én. Når neste signifikante siffer er 5,

  • Hvis tallet før 5 er oddetall, rund opp fem og gå frem med én
  • Hvis 5 er før et partall, hopp over 5 (0 er partall).

Statistisk sett er avrunding til partall mer nøyaktig enn å runde fem, fordi når det er mange beregninger, kan avrunding for hver fem til én gi et større tall.

For eksempel:

1,15+1,25+1,35+1,45 = 5,2

Hvis de signifikante sifrene er én desimal, oppnås resultatet ved hjelp av avrundingsprinsippet

1,2 + 1,3 + 1,4 + 1,5 = 5,4

Resultatet som oppnås ved å runde til fem partall er

1,2 + 1,2 + 1,4 + 1,4 = 5,2

Dette viser at avrundingsregelen gir mer presise resultater.

Math.Round

Så hvordan bruker du Math.Round for å oppnå forventet avrunding?

Faktisk tilbyr Math.Round i C# mange overbelastningsmetoder, inkludert to metoder:
Begge metodene gir en tredje parameter kalt modus, som er en enumerasjonsvariabel i MidpointRounding med to valgbare verdier

  • AwayFromZero – avrunding oppover
  • ToEven - avrunding til partall, avrunding

Så hvis vi ønsker et ideelt avrundet resultat, kan vi bruke følgende kode:
MidpointRundingsoppramsing, som vist nedenfor:



Referanse:Innloggingen med hyperkoblingen er synlig.




Foregående:WITH (NOLOCK) optimalisering for høy-samtidige EF Core-spørringer
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com