在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数?
如果我要让数据不但保留两位小数,并且还要显示金额分隔符(如123456.7894显示为123,456.79)。请各位不要建议我换字段类型,我就用money类型。还有一点,我现在是用asp.net进行编程,各位能否告诉我在具体的页面里如何写?有劳各位高手了!!! 展开
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
如果希望只保留2位小数,可以使用decimal数据类型,例如:
decimal(15,2)
当然,也可以在select时将money类型转换成decimal,使其只显示两位小数。假设用户的字段名叫做工资,数据类型是money, 可以用cast语句将其转换成两位小数的decimal,cast(工资, decimal(12,2))
扩展资料:
decimal数据类型的用法
decimal(M,N)
M表示:不包括小数点,不包括符号位,所能存数字的总位数(包括小数部分和整数部分)
N表示:小数部分数字的位数,由此可知整数部分的位数为M-N;
例如:
decimal(4,2) 能够表示的数的范围 -99.99到99.99。
当然,也可以在select时将money类型转换成decimal,使其只显示两位小数。假设你的字段名叫做工资,数据类型是money, 可以用cast语句将其转换成两位小数的decimal,
cast(工资, decimal(12,2))
fees money (18,2)