decimal
System.Decimal
Exact Precision Floating Point (1 E -28 to 7.9 E 28)
29 significant digits.
The default value is 0.
decimal myDecimal;
System.Decimal myDecimal;
Explicit Data Type
You can append literal constants with the letter "M" or "m" when you need to specify this type of literal.
decimal myDecimal = 1.6m; 'suffix is necessary
decimal myDecimal = 1.6M; 'suffix is necessary
Converting
// Decimal to Integer
decimal myDecimal = 1.6M;
int myInteger = (int)myDecimal;
// Decimal to Double
decimal myDecimal = 1.6M;
double myDouble = (double)myDecimal;
// Decimal to Float
decimal myDecimal = 1.6M;
float myFloat = (float)myDecimal;
Examples
System.Diagnostics.Debug.Print myDecimal // = 1.2345
Format Specifier
int value;
value = 12345;
Console.WriteLine(value.ToString("D")); // Displays 12345
Console.WriteLine(value.ToString("D8")); // Displays 00012345
decimal.Round()
Rounds a value to the nearest integer or to the specified number of fractional digits
This uses Bankers Rounding
VBA Currency Equivalent
The Currency data type in VBA has been replaced with the Decimal data type in C#.
In most cases these will be interchangeable however they do actually differ in their precision.
The Decimal data type in .NET is more accurate than the VBA Currency data type.
© 2024 Better Solutions Limited. All Rights Reserved. © 2024 Better Solutions Limited TopPrevNext