NX表达式四舍五入保留小数位数

方法一:

通过round()来扩展做:

如:A=50.5363,四舍五入保留两位小数.

先移动小数点位置 A*100=5053.63;

再round(5053.63)=5054;

再还原A的小数点位置 5054/100=50.54;

这里小数点向右移动两位用到用到*100,最后四舍五入取整后再把小数位向左移动两位,有一个小数点移动的口诀

“小数点
若左移
原数缩小是正理
如果右移就扩大
移一位
扩十倍
数点移动很好记
左缩右扩是规律”

得到向左移1位就是缩小10倍,向右移1位就是扩大10倍,总结以上做成一个简便公式:

round(A*10^小数位数) / (10^小数位数)

方法二:

如:A=50.5363,四舍五入保留两位小数.

BB = format(“%.2f”,A),这里BB为字符串类型,format函数是使用c语言风格的格式化规范返回一个格式化字符串,“%.2f”就是把浮点型“A”保留两位小数输出为字符串;

MakeNumber(BB),字符串转换回Number。

注意:NX的四舍五入用的是“奇进偶舍”法:

奇进偶舍,又称为四舍六入五成双规则银行进位法(Banker's Rounding),是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大,有的变小,更使舍入后的结果误差均值趋于零。而不是像四舍五入那样逢五就进位,导致结果偏向大数,使得误差产生积累进而产生系统误差。“奇进偶舍”使测量结果受到舍入误差的影响降到最低。

举个例子:

50.3450,50.3550,这两个数均保留两位小数,我们想当然的认为结果分别为:50.35和50.36,但是NX里面结果为50.34和50.36

有个口诀:

四舍六入五考虑
五后非零可进一(3.1503→3.2)
五后皆零视奇偶
五前为偶(包括零)应舍去(3.2500→3.2,3.0500→3.0)
五前为奇则进一(3.1500→3.2)

这个四舍五入法不光在NX的表达式中,在尺寸标注也存在,如果一个尺寸是98.5450,标注尺寸保留2位小数结果为98.54,这样有可能会直接影响加工结果导致加工过切。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值