在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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

参考技术A

如果希望只保留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。

参考技术B 如果希望只保留2位小数,可以使用decimal数据类型。例如: decimal(15,2)
当然,也可以在select时将money类型转换成decimal,使其只显示两位小数。假设你的字段名叫做工资,数据类型是money, 可以用cast语句将其转换成两位小数的decimal,
cast(工资, decimal(12,2))本回答被提问者采纳
参考技术C 字段可以这样写:
fees money (18,2)
参考技术D decimal(18,2)

SQL中怎么设置字段为10位数字。

现在有一个字段是10位数字,并且它与其它表的字段有主外键关系,请问它是什么类型的。

这个字段的类型与它是不是与其它表字段有主外键关系无关的,
方法一:楼主可以通过可视化工具来查看,例如pl/sql
方法二:楼主也可以通过jdbc来实现,ResultSetMetaData这个类里面提供了方法getColumnTypeName 来获得类型名称。
方法三:通过sql语句来实现
select T.DATA_TYPE 字段类型,T.Data_Length 字段长度 from user_Tab_Cols T
WHERE T.TABLE_NAME=UPPER('tb_bis_menu')
参考技术A bigint本回答被提问者采纳

以上是关于在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数?的主要内容,如果未能解决你的问题,请参考以下文章

sql server 货币 字段 类型 一般用啥类型?

sql类型 money 小数不显示开头的0

请问在c# winform中怎么将文本框中的数值保存到数据库中money类型的字段中???

sql查询用到两个字段相除,如何让他保留小数两位

如何将 SqlDbtype.Money = 0 与 Sql 服务器中的货币字段进行比较

常用 SQL Server 规范集锦