社区
MS-SQL Server
帖子详情
float有精度问题,为什么还要存在
proud
2011-01-03 08:18:16
如题,直接用decimal代替不就好了吗,存在有什么用呢
...全文
355
16
打赏
收藏
float有精度问题,为什么还要存在
如题,直接用decimal代替不就好了吗,存在有什么用呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stwd250
2011-01-05
打赏
举报
回复
float的精度没有decimal大,而decimal能表示的数值范围没有float大。很多高精度的计算都还是需要decimal的
luoyefeng1022
2011-01-05
打赏
举报
回复
仁者见仁智者见智的问题!但最主要的是在精度上!!
feilniu
2011-01-04
打赏
举报
回复
精确定点小数用以表示货币、比例等范围不大但精确性要求高的数值,在日常信息系统中用的较多。
浮点小数可以表示更大的范围,主要用以进行科学计算。
abuying
2011-01-04
打赏
举报
回复
存在即是合理!
float表示的数据范围大,如果 再小一些是real,再精度一下就是decimal,number了!
当然也可用money,货币型!
Shawn
2011-01-03
打赏
举报
回复
http://www.cnblogs.com/im/archive/2008/02/22/1077197.html
ycg_893
2011-01-03
打赏
举报
回复
你哪天搞一个导弹拦截系统或精确打击系统时,用的坐标应该不可能精确类型decimal,因为这种导弹再精确也不可能一点误差也没有。一些GPS定位系统、地理等也会使用这种类型
飘零一叶
2011-01-03
打赏
举报
回复
float是浮点数,能不指定小数位,精度很高。
decimal是精确数,可以指定精度。decimal指定了精度之后就是定长的了。
hyde100
2011-01-03
打赏
举报
回复
我等做信息系统的估计很少接触到float的使用,但是存在肯定是有道理的,估计更高级计算的时候能用到吧
Rotel-刘志东
2011-01-03
打赏
举报
回复
会存在误差是很正常的一件事呀!
AcHerat
元老
2011-01-03
打赏
举报
回复
--float用于一些近似计算,并且数据类型占用内存大小不同,存在就有它存在的必要性!
dawugui
2011-01-03
打赏
举报
回复
[Quote=引用楼主 proud 的回复:]
如题,直接用decimal代替不就好了吗,存在有什么用呢
[/Quote]
科学计算有误差存在,为什么还要存在科学计算?
-晴天
2011-01-03
打赏
举报
回复
用float时,其形式为 float [ ( n ) ]
其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。
当 n 为53时,以8字节存储.
当decimal为最大精度时,以17字节存储.
zheninchangjiang
2011-01-03
打赏
举报
回复
因为数字太大了,用float解决一下,精度只是小问题
-晴天
2011-01-03
打赏
举报
回复
数据表示的范围是不一样的.
decimal是带固定精度和小数位数的数值数据类型。
有效值范围为 - 10^38 +1 到 10^38 - 1
float用于表示浮点数值数据的大致数值数据类型。
取值范围为 -1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308
可见,后者是不能被前者全部替代的.
cxmcxm
2011-01-03
打赏
举报
回复
关键的一点,用float能表示更大的数
cxmcxm
2011-01-03
打赏
举报
回复
float为二进制,decimal为十进制
因为用二进制表示,转为十进制时会有误差。
对x86处理器中的87处理器,计算二进制的浮点数速度更快,
如果为十进制,计算后还要再转换。详细情况,建议LZ查一查intel的cpu中协处理器的指令集就会明白。
大智慧股票本地数据读取接口(含源码)
Market:市场代码,SH为沪市,SZ为深市,BK为板块指数,如果有其它市场数据,可有其它市场代码如HK等. DataType:数据类型,dm,cq,cw0,hq0,hq,等等,含义见下面注释 FinDataLib:目标逻辑库,如果给定的目标逻辑库不
存在
,则将设...
java
float
的
精度
_java中
float
和double
精度
问题
背景在java中
float
赋值给double,会产生
精度
问题
。
float
a = 2.1f;double b = 3.3;b = a;System.out.println(b);输出为2.0999999046325684。小数的二进制表示
问题
首先我们要搞清楚下面两个
问题
:十进制整数如何转化...
python浮点型
精度
损失
问题
_解决
float
型数据
精度
损失
问题
问题
:浮点型数据存储方式会导致数据
精度
损失,增大计算误差。
float
fval = 0.45; // 单步调试发现其真实值为:0.449999988double dval = 0.45; // 单步调试发现其真实值为:0.45000000000000001当很多个这样的单...
解决
float
型数据
精度
损失
问题
问题
:浮点型数据存储方式会导致数据
精度
损失,增大计算误差。
float
fval = 0.45; // 单步调试发现其真实值为:0.449999988 double dval = 0.45; // 单步调试发现其真实值为:0.45000000000000001 当很多个...
float
和double的
精度
1 范围
float
和double的范围是由指数的位数来决定的。
float
的指数位有8位,而double的指数位有11位,分布如下:
float
: ...在数学中,特别是在计算机相关的数字(浮点数)
问题
的表述中,有...
MS-SQL Server
34,593
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章