在SQL Server中,实际上小数数值只有两种数据类型:float 和 decimal,分别是近似数值和精确数值。
float 表示近似数值,存在精度损失,数据类型是 float(n),n是可选的,默认类型是float(53),占用8bytes。虽然n的取值范围是1-53,实际上,float 只能表示两种类型float(53) 和 float(24),分别占用 8Bytes 和 4Bytes。
decimal不存在精度损失,数据类型decimal(p,s) 需要分别指定小数的最大位数(p)和小数位的数量(s)。decimal 数据类型的最大精度为 38。即decimal 数据类型最多可以存储 38位数字,所有这些数字均可位于小数点后面。decimal 数据类型存储精确的数字表示形式,没有近似值。
扩展资料:
双精度(double precision)数据类型等价于 float(53),real等价于float(24),numeric是 decimal的同义词,应该避免在程序中直接使用 double precision、real和numeric,而是用 float(24) 、float(53)和decimal 代替。
float是近似数值,存在精度缺失;decimal是精确数值,不存在精度损失。当数值不允许精度丢失时,使用 decimal数据类型存储数据。在计算小数的除法时,SQL Server 内部隐式升级数据类型,根据小数数值的数据类型,就近向float(24) 或float(53)转换。
1、直接型,通过ToString()函数直接格式化。
例如把money = 12345.67 格式成 money = 12,345.67。代码如下:
string _money = moeny.ToString("N")或者string _moeny = money.ToString("#,###.00")
2、本地化型,通过CultureInfo类,根据指定的文化进行格式化,同样的,代码如下:
double money = 12345.67
CultrueInfo ci = new CultrueInfo("zh-CH")
string _money = money.ToString("c",ci)。
扩展资料:
1、toString() 方法用于返回以一个字符串表示的 Number 对象值。如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值。如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
2、CultureInfo类保存区域性特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。此类还提供对 DateTimeFormatInfo、NumberFormatInfo、CompareInfo和 TextInfo的区域性特定实例的访问。
这些对象包含区域性特定 *** 作(如大小写、格式化日期和数字以及比较字符串)所需的信息。
参考资料来源:百度百科-CultureInfo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)