首页 > 学院 > 开发设计 > 正文

sql Server 保留几位小数

2019-11-10 19:08:30
字体:
来源:转载
供稿:网友

如果在数据库用的float类型存数据

在程序里面Decimal接受,会是填的什么数据保存什么数据

但是如果在数据库里面用numeric(18,2)存数据,在程序里面用ToDecimal

接受,会添加小数,可以在显示的时候取小数

如果Decimal没有给小数,对于数据库使用DECIMAL没有给小数,会自动四舍五入

建议改数据类型为nvarchar(20),想填的数据是多少就是多少)

如果是vchar会导致定数,不足会自动填充会有空字符问题

数据库里的 float momey 类型,都会精确到多位小数。但有时候 我们不需要那么精确,例如,只精确到两位有效数字。

解决:

1. 使用 Round() 函数,如 Round(@num,2)  参数 2 表示 保留两位有效数字。

2. 更好的方法是使用 Convert(decimal(18,2),@num) 实现转换,decimal(18,2) 指定要保留的有效数字。

这两个方法有一点不同:使用 Round() 函数,如果 @num 是常数,如 Round(2.3344,2) 则 会在把有效数字后面的 变为0 ,成 2.3300。但 Convert() 函数就不会。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表