decimal,float和double的区别是什么?
原文链接:https://blog.csdn.net/hellojoy/article/details/118105569
表示小数的一共有三种类型:float是单精度,double是双精度,decimal是数字型,它们所占的内存空间不一样,表示的位数也不一样。
1、精度:
- float单精度小数部分能精确到小数点后面6位,用 32 位二进制进行描述
- double双精度小数部分能精确到小数点后的15位,,用64位二进制进行描述,比float型更精确
2、占内存及处理速度:
- float单精度内存占4个字节
- double双精度内存占8个字节,是float型的两倍,且运算速度也比float慢得多
结论:虽然double型比float型精度高,但由于占内存更大,运算速度慢,且即使是double依然会存在精度损失的问题,且不会报告任何的错误,也不会有任何的异常产生。所以如果涉及到小数计算的话,我们会用到下边的decimal型:
1、精度:
decimal用l128位高精度浮点数,常用于金融运算,不会出现浮点数计算的误差
2、占内存及处理速度:
decimal类型的数据存储形式是,将每9位十进制数存储为4个字节
举个例子:
1)字段decimal(5,2),5-2=3,其中小数部分为2,对应上表1个字节,整数部分为3,对应上表2个字节
2)字段decimal(20,6),20-6=14,其中小数部分为6,就对应上表中的3个字节,而整数部分为14,14-9=5,就是4个字节再加上表中的3个字节
结论:decimal型比浮点型计算精度要高,通常使用更少的空间。所以通常我们在设置小数的时候,都是用的decimal类型。
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-09-26 报错 无法设置未定义或 null 引用的属性“onclick”
2022-09-26 内网ip查询的两种方法
2022-09-26 查电脑当前登录的用户信息