| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1473 人关注过本帖
标题:请教 :小数取到16位有效值的问题
取消只看楼主 加入收藏
laibinhua
Rank: 2
等 级:论坛游民
威 望:1
帖 子:295
专家分:38
注 册:2010-12-23
结帖率:58.02%
收藏
 问题点数:0 回复次数:1 
请教 :小数取到16位有效值的问题
要小数点后16位有效小数点,但vfp好像只能取到有效13位小数,比如300除1.05=285.7142857142857 ,但我实际小需要的值是300除1.05=285.714285714285714 (多出两位有效小数) 如果SET DECIMALS TO 18 也返回不了16位小数 它显示成285.714285714285700  
VB中有很好的解决办法:如下  
Dim a As Variant
a = 22
a = a / 7
Debug.Print a
上述代码的运行结果为 3.14285714285714,这是双精度浮点数的精度极限(15位有效数字)。
如果代码改为:
Dim a As Variant
a = CDec(22)
a = a / 7
Debug.Print a
则显示结果为:3.1428571428571428571428571429
搜索更多相关主题的帖子: 小数点 极限 
2017-03-27 20:29
laibinhua
Rank: 2
等 级:论坛游民
威 望:1
帖 子:295
专家分:38
注 册:2010-12-23
收藏
得分:0 
因为我需要用到小数点后面保留16位有效数字,可是VFP最多就13位有效小数点,我用windows的计算器(科学型)结果是这样285.71428571428571428571428571429  如果标准型是这样285.7142857142857 这个结果就是VFP里的16精度的结果,不够用,要科学型这样的结果,哪怕是多2位小数也行,有办法吗?
2017-03-27 20:39
快速回复:请教 :小数取到16位有效值的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036268 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved