"景先生毕设|www.jxszl.com

c#中decimal数据类型声明带m与不带m区别

2023-11-16 15:56编辑: www.jxszl.com景先生毕设
c#中decimal数据类型声明带m与不带m区别
一、c#中decimal数据类型声明带m与不带m区别举例
decimal  dcm=0; //整数的后面可以不添加"M"后缀,整型将被隐式转换为decimal类型;
decimal  dcm=0.0m; //只有浮点数需要添加 ,有小数,不填写M则报错


二、c#中decimal数据类型声明带m与不带m区别总结:
1.整数的后面可以不添加"M"后缀,整型将被隐式转换为decimal类型
2.只有浮点数需要添加 ,有小数,不填写M则报错
3.更便捷的知道是什么数据类型。我只要看到该值,便知道它的确切类型


三、c#中decimal数据类型声明扩展:
M:表示双精度(decimal)类型。
F:表示单精度(float)类型。
D:表示双精度(double)类型。
U:表示无符号(unsigned)整数类型。
L:表示长(long)整数类型。
UL:表示无符号长(unsigned long)整数类型。

decimal number1 = 10.5M;     // 双精度(decimal)类型
float number2 = 3.14F;       // 单精度(float)类型
double number3 = 2.718D;     // 双精度(double)类型
uint number4 = 100U;         // 无符号(unsigned)整数类型
long number5 = 123456L;      // 长(long)整数类型
ulong number6 = 987654UL;    // 无符号长(unsigned long)整数类型


decimal(m,d)
m是数字的最大位数,他的范围是从1-65;
d是小数点后的位数,他的范围是0-30,并且不能大于m。
如果m被省略了,那么m的值默认为10,
如果d被省略了,那么d的值默认为0.
举例表示:
1、decimal(5,2) 所指代的范围是-999.99~999.99 数字的最大位数是5位,小数点右侧是2位,即有两位小数。
2、decimal(7,6)所指代的范围是-9.999999~9.999999 数字的最大位数是7位,小数点右侧是6位,即有六位小数。

举例表示:
decimal(18,9)小数位左右各为9位数,此数据所占以上表格即为4字节整数位,4字节小数位;
decimal(20,6)整数位为14位,小数位位6位,此数据需要4个字节给整数位的9位和3字节给另外的5位整数,另外小数位需要3个字节,总共是4+3+3 = 10个字节。




原文链接:http://www.jxszl.com/biancheng/C/483031.html