C#: kerekítés

A Decimal típus

A decimal típus használandó a mindennapi életben, az egyenlőségvizsgálat okán. Szemben a lebegőpontos típusokkal (single, double), melyek
adott pontosság mellett egyenlőnek tűnnek, de kis helyiértéken eltérnek
határon kívül esve kivétel helyett pozitív/negatív végtelen, illetve nem szám értéket vesznek fel
átalakítás közben elvesző jegyek miatt az átalakított, majd visszaalakított lebegőpontos szám “nem egyenlő” önmagával
a decimal típus használható pénzügyi számítások végzésére.
Egész számok automatikusan konvertálódnak decimal típusra a művelet során, viszont valós konstansok megadásánál m vagy M suffix szükséges, egyébként azok lebegőpontos számként kerülnek tárolásra.

Kerekítés

Magyarosan kerekíteni a System.Decimal struct Round tagjával lehetséges. Az alap Round metódus az IEEE 754 szabvány szerinti kerekítést használja (bankár kerekítés), ami finoman szólva nem megfelelő számunkra. Itt a kerekítés öt tizednél a közelebbi páros szám felé történik.
Számunkra használható a Decimal.Round(Decimal, MidpointRounding) forma, ahol a kerekítési módot MidpointRounding.AwayFromZero-ra kell állítani a szokásos öt tizedtől felfele kerekítős üzemmódhoz.
Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s