Sdílet prostřednictvím


Decimal – datový typ (Visual Basic)

Blokování podepsané 128bitové (16bajtové) hodnoty představující pomocí proměnné napájení 10 čísel integer 96 bitů (12 bajtů).Měřítko určuje počet číslic vpravo od desetinné čárky; ho rozsahu od 0 do 28.S měřítkem 0 (bez desetinných míst) je největší možná hodnota +/-79,228,162,514,264,337,593,543,950,335 (+/-7 .9228162514264337593543950335E + 28).S 28 desetinnými místy je největší hodnota +/-7,9228162514264337593543950335 a nejmenší nenulová hodnota je +/-0,0000000000000000000000000001 (+/-1E-28).

Poznámky

Decimal Datový typ obsahuje největší počet platných číslic pro číslo.Podporuje až 29 platných číslic a může představovat hodnoty nad 7.9228 x 10^28.Je zvláště vhodný pro výpočty, například finanční, které vyžadují velký počet číslic ale nelze tolerovat chyby zaokrouhlení.

Výchozí hodnota Decimal je 0.

Programové tipy

  • **Přesnost.**Decimal není typu s plovoucí desetinnou čárkou. Decimal Struktury obsahuje binární celočíselnou hodnotu, znaménkový bit a celé Měřítko určuje, jaká část hodnoty je desetinné číslo.Díky Decimal čísla mají přesnější reprezentaci v paměti než typy s plovoucí desetinnou čárkou (Single a Double).

  • **Výkon.**Decimal Typ dat je nejpomalejší všechny číselné typy.Měli byste zvážit důležitost přesnosti proti výkonu před výběrem typu.

  • Rozšiřování. The Decimal data type widens to Single or Double.To znamená, že můžete převést Decimal do těchto typů bez výskytu OverflowException chyba.

  • Koncové nuly. Visual Basic neukládá koncové nuly v Decimal literálu.Nicméně Decimal proměnnou zachová všechny koncové nuly výpočetně získali.Následující příklad ukazuje to.

    Dim d1, d2, d3, d4 As Decimal
    d1 = 2.375D
    d2 = 1.625D
    d3 = d1 + d2
    d4 = 4.000D
    MsgBox("d1 = " & CStr(d1) & ", d2 = " & CStr(d2) &
          ", d3 = " & CStr(d3) & ", d4 = " & CStr(d4))
    

    Výstup MsgBox v předchozím příkladu je následující:

    D1 = 2.375 d2 = 1.625 d3 = 4.000 d4 = 4

  • Typ znaků. Přidávání literálový znak D pro literál vynutí, aby Decimal datového typu.Přidání znaku identifikátor typu @ pro každý identifikátor vynutí Decimal.

  • Typ rámce. Odpovídající typ v rozhraní.NET Framework Decimal struktury.

Rozsah

Potřebujete použít D znak velké hodnoty přiřadit Decimal variabilní nebo konstantní.Tento požadavek je, protože kompilátor interpretuje jako literál Long Pokud literálový znak takto literálu, jak ukazuje následující příklad.

Dim bigDec1 As Decimal = 9223372036854775807   ' No overflow.
Dim bigDec2 As Decimal = 9223372036854775808   ' Overflow.
Dim bigDec3 As Decimal = 9223372036854775808D  ' No overflow.

Prohlášení o bigDec1 nedává přetečení, protože je přiřazena hodnota spadá do rozsahu pro Long.Long Hodnota přiřazena Decimal proměnné.

Prohlášení o bigDec2 generuje chybu přetečení, protože je přiřazena hodnota je příliš velký pro Long.Protože číselný literál nelze interpretovat nejprve jako Long, nemůže být přiřazen Decimal proměnné.

Pro bigDec3, znak literál typu D vyřešen vynucením kompilátoru interpretovat jako literál Decimal místo jako Long.

Viz také

Referenční dokumentace

Souhrn datových typů (Visual Basic)

Decimal

Decimal.#ctor

Single – datový typ (Visual Basic)

Double – datový typ (Visual Basic)

Funkce pro převod typů (Visual Basic)

Souhrn konverze (Visual Basic)

Math.Round

Koncepty

Účinné používání datových typů (Visual Basic)