decimal(C# 参考)
decimal 类型的大致范围和精度如下表所示。
类型
|
大致范围
|
精度
|
.NET Framework 类型
|
decimal
|
0 - 28)
|
28 到 29 位有效位
|
SystemDecimal
|
文本
decimal 类型,请使用后缀 m 或 M,例如:
decimal myMoney = 300.5m;
double 类型,从而导致编译器错误。
转换
因此,可以用整数初始化十进制变量而不使用后缀,如下所示:
例如:
decimal myMoney = 99.9m;
double x = (double)myMoney;
myMoney = (decimal)x;
decimal 和浮点型将导致编译错误。
隐式数值转换表(C# 参考)。
显式数值转换表(C# 参考)。
示例
decimal 类型。
decimal 变量:
double x = 9;
Console.WriteLine(d + x); // Error
其结果是导致以下错误:
Operator '+' cannot be applied to operands of type 'double' and 'decimal'
-
public class TestDecimal
- {
-
static void Main()
- {
-
decimal d = 9.1m;
-
int y = 3;
- Console.WriteLine(d + y); // Result converted to decimal
- }
- }
- // Output: 12.1
-
y 严格按照正确的格式显示。
-
public class TestDecimalFormat
- {
-
static void Main()
- {
-
decimal x = 0.999m;
-
decimal y = 9999999999999999999999999999m;
- Console.WriteLine("My amount = {0:C}", x);
- Console.WriteLine("Your amount = {0:C}", y);
- }
- }
- /* Output:
- My amount = $1.00
- Your amount = $9,999,999,999,999,999,999,999,999,999.00
- */
-
|
请发表评论