Типът decimal
Типът decimal е много прецизен, 128 битов тип за данни, който е предназначен за употреба при финансови и парични изчисления. Той може да представя стойности, вариращи приблизително от 1.0 по 10 на -28 степен до 7.9 по 10 на 28 степен с 28 до 29 значими цифри. Важно е да се отбележи, че точността се определя от цифри, а не от десетични знаци. Операциите са точни, максимум до 28 десетични знака.
Както можете да видите, обхватът от стойности е по-малък от типа double, за сметка на това обаче е доста по-точен. Ето защо не е възможно безусловно конвертиране между типовете decimal и double - в едната посока можете да предизвикате препълване; в другата да загубите точността. Затова трябва изрично да заявите конвертиране посредством образец.
Когато дефинирате променлива и присвоявате стойност на нея, използвайте суфикса m, за да обозначите че стойността е от тип decimal:
decimal decMyValue = 1.0m;
Ако пропуснете суфикса m, променливата ще бъде третирана като double от компилатора, преди присвояването на стойност.
Сподели с приятели: |