欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

C#和sqlserver数字数据类型学习

程序员文章站 2022-06-13 11:21:17
...

C#数字类型的数据包括decimal, double和 float。以前学过现在忘得都差不多了,现在简单的复习一下。 根据MSDN的解释, decimal类型是128位的浮点数,数据范围是1.010 28 to 7.910 28 ,精度在28-29位有效数字,在一个数字后面加m或M代表它是decimal类型。 do

C#数字类型的数据包括decimal, double和 float。以前学过现在忘得都差不多了,现在简单的复习一下。

根据MSDN的解释,

decimal类型是128位的浮点数,数据范围是±1.0 × 10−28 to ±7.9 × 1028,精度在28-29位有效数字,在一个数字后面加m或M代表它是decimal类型。

double类型是64位的浮点数,数据范围是±5.0 × 10−324 to ±1.7 × 10308,精度在15-16位有效数字,在一个数字后面加d或D代表它是double类型。正常的带小数点的数字都会默认为double类型,如果想让一个整形作为double类型处理,就在后面加上d或D. 相比之下,decimal类型比double类型精度高,但是范围相对小一些。

float类型是32位的浮点数,数据范围是±1.5 × 10−45 to ±3.4 × 1038,精度是7位,在一个数字后面加f或F代表它是float类型。可以看出,它比decimal类型精度小很多,但是范围要大一些。

对于sqlserver里的money类型,它8位的,数据范围在-922,337,203,685,477.5808 到922,337,203,685,477.5807之间得数据类型,

smallmoney则是4位的在- 214,748.3648 到214,748.3647之间。

在sqlserver中还有数字类型,就是decimal和numeric,它们是相同的,具有可以指定的精度(有效数字位数)和规格,最大范围是- 10^38 +1 到10^38 - 1。

下表表示了精度和存储位数的关系:

精度 存储位数

1 - 9

5

10-19

9

20-28

13

29-38

17