Sdílet prostřednictvím


Desetinný 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 System.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 System.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 typu dat (Visual Basic)

System.Decimal

Decimal.Decimal

Jeden typ dat (Visual Basic)

Datový typ Double (Visual Basic)

Funkce převodu typu (Visual Basic)

Souhrn převodu (Visual Basic)

Math.Round

Koncepty

Efektivní využití typů dat (Visual Basic)