以文本方式查看主题

-  易表在线答疑  (http://www.egrid2000.com/dvbbs/index.asp)
--  精华分享  (http://www.egrid2000.com/dvbbs/list.asp?boardid=12)
----  如何使窗口里小数位数与表里显示的一致?(小吴原创)  (http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=12&id=1023)

--  作者:喜爱易表
--  发布时间:2006/8/16 19:40:00
--  如何使窗口里小数位数与表里显示的一致?(小吴原创)
[UploadFile=2_149_1155728403.gif]

(在老六指导下终于弄明白了,现整理一下,放在这里供大家分享)

  在使用易表的过程中,你可能会发现即使通过工具栏上的增加/减少小数位数按钮设定好了小数位数后,在录入窗口里显示的和表里显示的不一样。

  其实,工具栏中的小数位数只是设置显示的小数位数,并不影响真实的值。

  例如:1.106139在设置两位显示小数位数的情况下,在表里的显示为1.11,但其实是他的值还是1.106139,参与运算的也是1.106139,在录入窗口里显示的也是1.106139。

  遇到这种情况,我们可以使用Round/Round2函数来设置。

  ROUND函数的功能是:将数字四舍五入到指定位数,第二个参数指定要保留的小数位数,例如Round(1.26,1)=1.3

  通常我们可以这样使用:Round([列名],小数位数),例如:Round([价格],2),则价格列将以2位小数显示,此时录入窗口的对应字段也显示2位小数。

  还有一种情况:如果列已经使用了刷新公式,却仍存在录入窗口小数位数与显示不一样时,可以用下面的公式解决:<p>int(x*10^n +0.5)/10^n
上式中,n为要保留的小数位数,X为原来设置的刷新计算公式,替换n和x即可。

  例如公式:int(SUMFOR([P/N],生产日期,datetime(2003,03,02),0,0,2)*10^3 +0.5)/10^3

  这里x=SUMFOR([P/N],生产日期,datetime(2003,03,02),0,0,2)
    n=3

  这样重新设置刷新公式以后,表里显示的和录入窗口里显示的数字的小数位数就一样了。