EDA365电子论坛网

标题: axlFormSetField会自动保留2位小数吗? [打印本页]

作者: lyh289114980    时间: 2015-2-11 15:09
标题: axlFormSetField会自动保留2位小数吗?
axlFormSetField会自动保留2位小数吗?a0=0.0004927284 axlFormSetField(form "a1" a0) 结果是0.00啊,我不要它这样请问各位怎么处理?



作者: kevin890505    时间: 2015-2-11 16:14
那也是受你field控制的,你的field只允许输入这么几个字符,吧form定义里面field输入变为更大,就可输入这种一长串浮点数了  比如STRFILLIN  9 9
作者: lyh289114980    时间: 2015-2-11 16:52
kevin890505 发表于 2015-2-11 16:14
那也是受你field控制的,你的field只允许输入这么几个字符,吧form定义里面field输入变为更大,就可输入这 ...

不是输入啊,我是计算的值填入方框内哦它就自动给我保存两位

作者: kevin890505    时间: 2015-2-11 17:26
lyh289114980 发表于 2015-2-11 16:52
不是输入啊,我是计算的值填入方框内哦它就自动给我保存两位

一个道理啊,你这个填入,虽然是setfield函数实现,但是包含2个过程
1,得到一个变量a0=0.0004927284   
2,然后用setfield吧a0填入到你的form界面中名字为a1的field
这个过程中,要么是你的a0返回就是0.00,看看你a0定义格式了没?打印下确认看看
要么就是把a0传递到form的过程中出错,过程是函数实现,只要参数对,就不会错,那么就是你的form不允许输入这么长的数值,那就改下form


如果找不到,把你form对应的那几行定义  以及setfield前后几行贴上来

作者: lyh289114980    时间: 2015-2-11 17:57
kevin890505 发表于 2015-2-11 17:26
一个道理啊,你这个填入,虽然是setfield函数实现,但是包含2个过程
1,得到一个变量a0=0.0004927284    ...

打印出来就是0.0004927284
下面填入代码:
fprintf(Inform "FIELD a1\nFLOC 30 13 \nSTRFILLIN 7 37\nENDFIELD\n\n")
...........
axlFormSetField(form "a1" a0)
看下有问题吗?

作者: kevin890505    时间: 2015-2-11 22:52
lyh289114980 发表于 2015-2-11 17:57
打印出来就是0.0004927284
下面填入代码:
fprintf(Inform "FIELD a1\nFLOC 30 13 \nSTRFILLIN 7 37\n ...

a0 = 0.0004927284  type(a)肯定为float num但是你的form定义a1输入类型是STRFILLIN
fprintf(Inform "FIELD a1\nFLOC 30 13 \nSTRFILLIN 7 37\nENDFIELD\n\n")
...........
肯定不对了,你应该把a0再转换成string  或者把你的定义里面改成float型变量 对应了肯定就是OK的了





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2