PCB论坛网

 找回密码
 注册
查看: 1009|回复: 4

GENESIS 中数据比较问题

[复制链接]
发表于 2009-1-21 10:00:00 | 显示全部楼层 |阅读模式

大家好 ,在各位论坛高手的帮助下,小弟的封边程序也快完成了,在测试的时候发现有点问题还请大家不惜赐教

是一个判断的问题,即

IF  $X>$Y THEN

....

ENDIF

X,和Y都是取自GUI中TEXT输入的变量,当测试的时候发现这样写当输入的X,和Y都是整数的时候,IF后面运行OK,但是

输入的如果是小数就不运行后面的了,到底是怎么回事啊

回复

使用道具 举报

发表于 2009-1-23 14:39:00 | 显示全部楼层
CSH 不能比较浮点数,你用AWK 或者其他的方法实现吧!

比如 :
  if ( ` echo $x $y | awk '{ if ( $1 > $2 ) print "lg" }' ` == "lg" ) then

  endif
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-31 08:06:00 | 显示全部楼层

能不能取整再比较呢?由于我只想实现一点功能,不想深入研究SCH语法

上面的 能不能写成 A=取整(X)    B=取整(Y)

if a>b then

endif

高手还望帮写成标准的SCH语法啊

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-31 13:37:00 | 显示全部楼层

set a = `echo "scale=10;$lengthx * 1000" | bc`

set b = `echo "scale=10;$lengthy * 1000" | bc`

(我输入的lengthx,lengthy最多就是2位小数了),这样可以比较a,和b吗?也不可以啊。用BC运算都要精确小数的啊。。。555,到底怎么弄啊。哥哥教教我啊,写点出来啊

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-2 21:06:00 | 显示全部楼层

顶啊!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-5-15 16:22 , Processed in 0.119938 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表