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)
Decimal.Decimal
Datový typ Double (Visual Basic)
Funkce převodu typu (Visual Basic)