iCAx开思网

标题: 有没有四舍五入的函数? [打印本页]

作者: til000    时间: 2014-5-26 18:10
标题: 有没有四舍五入的函数?
破衣的ceil和frool两函数,不过都不是四舍五入的,请问有没有这种函数。
作者: jty_glj    时间: 2014-5-27 08:24
举个例说:在表格中引用参数值:pro_mp_mass  
格式如下:&pro_mp_mass   一般默认保留3为小数
现在要保留 2为 改成这样 就可以了
&pro_mp_mass[.2]
其余的你懂了

作者: til000    时间: 2014-5-27 09:55
多谢   我去试试
作者: til000    时间: 2014-5-27 10:49
好像不行,我查了一下,您给的这个是参数是针对质量的.

是这样,我想用个关系式来判断百分位是否大于5的,以此来决定十分位上的数
例如有D1这个尺寸,如果D1=12.352,那么最终D1尺寸是12.4,如果D1=12.342,那么D1尺寸是12.3
我要的不是选项里的参数,那个参数只是让显示出来的值看起来只精确到比如十分位上,但实际上值还是
那么多的.




作者: zhangax88    时间: 2014-5-27 14:46
四舍五入,当然可以.好比说,floor(x+0.5)或者ceil(x-0.5)都可以,编程时经常用,很简单
作者: jty_glj    时间: 2014-5-27 16:00
你要的这个函数好像真没有。这样设计一下是可以的。其中测试的数是1.245,返回百分位的数字:5
extract(itos(1.245*100),string_length(itos(1.245*100)),1)



作者: til000    时间: 2014-5-28 13:00
jty_glj 发表于 2014-5-27 16:00
你要的这个函数好像真没有。这样设计一下是可以的。其中测试的数是1.245,返回百分位的数字:5
extract(it ...

感谢,按您说的,的确添加了一下判断关系,但是最后得到的值却是个字符串,我要用什么函数才能把字符转换为实数呢
DD1=itos(d1*100)
DD2=string_length(dd1)
DD3=extract(dd1,dd2,1)
if dd3<5
error左右侧矛盾
d3=floor(d1,1)
else
d3=ceil(d1,1)
endif

在判断dd3是否小于5上面,结果靠函数extract()得到的值却不能用在这里.因为这个5不是实数.请问这里怎么解决?

[attach]1199707[/attach]
作者: 我只要自由    时间: 2014-5-29 12:45
5楼 正解
作者: til000    时间: 2014-5-29 16:59
我只要自由 发表于 2014-5-29 12:45
5楼 正解

ceil和frool它不能判断我说的那种情况呀,我要的是任何数,就那一个关系式就能判定,我不想每个数还要自己来判定,那就没意义了.或者说floor(x+0.5)是另有深意?没看懂

作者: 我只要自由    时间: 2014-5-30 08:43
til000 发表于 2014-5-29 16:59
ceil和frool它不能判断我说的那种情况呀,我要的是任何数,就那一个关系式就能判定,我不想每个数还要自己来 ...

是的 另有深意 你也许没看懂

作者: til000    时间: 2014-5-30 12:43
zhangax88 发表于 2014-5-27 14:46
四舍五入,当然可以.好比说,floor(x+0.5)或者ceil(x-0.5)都可以,编程时经常用,很简单

你好  能具体指点一下吗?我试过了  比如D1=-33.44,那么按你说的这样,我用floor(D1+0.5),结果是-33,并且+0.5和-0.5还要自己根据数值来自己选择,那样的话还不如不用关系式.所以想请教一下.




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3