Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 1|Vastaus: 0

[Vinkkejä] .NET/C# käyttää Math.Roundin MidpointRoundingia pyöristykseen

[Kopioi linkki]
Julkaistu46 sekuntia sitten | | | |
Vaatimukset: Käytetään usein pyöristykseen eikä ole kovin herkkä tarkkuusvaatimuksille.

Kahden desimaalin pyöristämiseksi kehittäjä kirjoitti seuraavan koodin,
Koodi on hyvin yksinkertaista, kehittäjätTodellinen tulos oli 12,12, mikä oli ristiriidassa odotetun pyöristystuloksen 12,13 kanssa

Tämän tuloksen syynä on se, että Math.Round ei käytä pyöristyssääntöä oletuksena, vaan kierroksia tasoittamiseksi.

Pyöristetään viiteen, jolloin tehdään pari

Niin sanottu kuuden ja viiden pyöristys parin muodostamiseksi tarkoittaa, että merkitsevien numeroiden määrittämisen jälkeen, jos seuraava merkittävä numero on pienempi tai yhtä suuri kuin 4, se pyöristetään alaspäin; jos se on suurempi tai yhtä suuri kuin 6, pyöristetään ylöspäin yhdellä. Kun seuraava merkittävä numero on 5,

  • Jos numero ennen 5 on pariton, pyöristetään viisi ja etene yhdellä
  • Jos 5 on ennen parillista numeroa, ohita 5 (0 on parillinen).

Tilastollisesti pyöristys parilliseen on tarkempaa kuin viiden pyöristys, koska kun laskelmia on paljon, pyöristämällä joka viiden kerta yhteen voi johtaa suurempaan lukuun.

Esimerkiksi:

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

Jos merkitsevät numerot ovat yksi desimaali, tulos saadaan pyöristysperiaatteen avulla

1.2 + 1.3 + 1.4 + 1.5 = 5.4

Pyöristämällä viiteen parilliseen saadaan tulos on

1.2 + 1.2 + 1.4 + 1.4 = 5.2

Tämä osoittaa, että pyöristyssääntö tuottaa tarkempia tuloksia.

Math.Round

Miten siis käytät Math.Roundia saavuttaaksesi odotetun pyöristyksen?

Itse asiassa Math.Round C#:ssa tarjoaa monia ylikuormitusmenetelmiä, mukaan lukien kaksi menetelmää:
Molemmat menetelmät tarjoavat kolmannen parametrin nimeltä mode, joka on MidpointRoundingin enumeraatiomuuttuja kahdella valittavalla arvolla

  • AwayFromZero - pyöristys ylöspäin
  • Tasolle – pyöristäminen tasoihin

Jos haluamme ideaalipyöristetyn tuloksen, voimme käyttää seuraavaa koodia:
MidpointRounding-luettelo, kuten alla on esitetty:



Viittaus:Hyperlinkin kirjautuminen on näkyvissä.




Edellinen:WITH (NOLOCK) optimointi korkean samanaikaisen EF-ydinkyselyn osalta
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com