sql server控制小数显示位数的解决办法。

如题,我有一列是float类型,由于float类型存储精度问题,在数据库里存储成如0.94999999999999996小数位非常多的数字。我想让他显示成0.95该怎么弄... 如题,我有一列是float类型,由于float类型存储精度问题,在数据库里存储成如0.94999999999999996小数位非常多的数字。我想让他显示成0.95该怎么弄?
我试过select Convert(NUMERIC(18,2),0.95000000000000000)的写法,但输出成了.95,个位的0丢了。该怎么写能实现我要的效果呢?求解。
展开
 我来答
59分粑粑分享生活
高粉答主

2020-02-25 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119834

向TA提问 私信TA
展开全部

解决办法和操作步骤如下:

1、首先,打开SQL Server数据库,然后准备一个小数,见下图。

2、其次,完成上述步骤后,可以使用round函数进行十进制处理,但是round会将十进制变为0,而不是保留位数的实际数,见下图。

3、接着,可以使用cast函数执行小数转换,直接转换为numeric类型,见下图。

4、但是,在使用cast时,请务必注意,转换类型不要发生数字溢出,见下图。

5、然后,编写转换时,应尽可能把转化的类型位数写得大一点,见下图。

6、最后,也可以使用Convert函数进行转换,这与cast用法类似,见下图。

很多游戏
高粉答主

2019-10-20 · 游戏精通者,攻略技能点满
很多游戏
采纳数:91 获赞数:387009

向TA提问 私信TA
展开全部

1、首先我们打开SQL  Server数据库,然后准备一个小数,如下图所示

2、然后我们可以通过round函数来进行小数处理,但是round会把小数后面变成0而不是真正意义上的保留位数。

3、所有接下来我们就可以通过cast函数进行小数转化,如下图所示,直接转化为numeric类型。

4、但是在用cast的时候需要注意的是转化的类型中不要发生位数溢出,如下图所示。

5、我们在进行转化的时候尽可能的把转化的类型位数写的大一点,如下图所示。

6、然后还可以通过Convert函数进行转化,如下图所示,和cast用法差不多。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
day忘不掉的痛
推荐于2017-09-18 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223941
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部

控制小数显示位数的办法如下:

decimal(18,0)
18是定点精度,0是小数位数。
decimal(a,b)
a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。
b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。

实例:

decimal[ (p[ ,s] )] 和 numeric[ (p[ ,s] )]

固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 ISO 同义词为 dec 和 dec(p, s),numeric 在功能上等价于 decimal。

p(精度)

最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。

该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。

s (小数位数)

小数点右边可以存储的十进制数字的最大位数,小数位数必须是从 0 到 p 之间的值。

仅在指定精度后才可以指定小数位数,默认的小数位数为 0;

因此,0 <= s <= p。最大存储大小基于精度而变化。

 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅春桖92
2013-01-28 · 超过28用户采纳过TA的回答
知道答主
回答量:112
采纳率:100%
帮助的人:71.5万
展开全部

我运行了蛮好的,个位0应该不会丢啊!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友13d972e8f
2015-03-10
知道答主
回答量:4
采纳率:0%
帮助的人:4.8万
展开全部
不显示前导0不是数据本身的问题,需要在显示的程序中使用诸如FormatNumber的函数进行格式化处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式