| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1562 人关注过本帖
标题:请教筛选平方数
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
收藏
已结贴  问题点数:6 回复次数:4 
请教筛选平方数
先生好,我编了筛选平方数的代码,对于数值较小时运行结果精确正确,对于数值较大时运行结果与笔算怎么会有误差的,请先生指导,代码如下,谢谢
CLEAR
CLOSE  all
SET SAFETY OFF
USE 记录表
PACK
ZAP
  FOR n=10 TO 20                  
   FOR i=1 TO 10
列1 = 2*n*n-i*i            
    IF   INT(SQRT(列1))=SQRT(列1)   
        APPEND BLANK
        REPLACE  n的值 WITH  n
        REPLACE  i的值 WITH  i                                               
        REPLACE  平方数记录 WITH  2*n*n-i*i
       ELSE     
       LOOP      
    ENDIF
 ENDFOR
ENDFOR
*------------
  DELETE FILE *.BAK
 MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')
 
VFP筛选平方数.rar (4.63 KB)


[此贴子已经被作者于2018-4-13 20:45编辑过]

搜索更多相关主题的帖子: 筛选 平方 记录 REPLACE WITH 
2018-04-13 20:22
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
数值较大时
超过多少时有误差

坚守VFP最后的阵地
2018-04-13 21:38
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:2 
在SET SAFETY OFF 后面加一句 SET DECIMALS TO 3 ,再运行一次,看看结果;
再把精度改为 SET DECIMALS TO 4,运行一次,看看结果;
随着精度值提高,或许你会有所发现……
你这个估计至少要设置到 SET DECIMALS TO 4 以上,才会有正常结果。

你这是个好问题,估计好多人平时不会注意到 SET DECIMALS TO 这个设置命令。毕竟平时处理普通的数据,默认的精度已经够用了。
2018-04-13 22:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:2 
取的是整数部分,应该与小数部分无关。
问题是“数值较大时运行结果与笔算怎么会有误差”,到底有多大,是否超出VFP数值精度限制。
2018-04-14 05:17
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
谢谢各位的指点,谢谢
2018-04-18 12:26
快速回复:请教筛选平方数
数据加载中...
 
   



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

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