关于Excel 自定义平方函数

随便写了一个:
Function pf(a!, b%) As Single
pf = a * 10 ^ b
End Function
当a=0.075,b=2时,
pf(0.075,2)=7.50000047683715
而不是7.5?
可如果我这样设置的话,还不如嵌套个函数,写成round(pf(a,b),b)的话,小数点的位数也是变化的。
为什么0.015、0.025......0.095之间只有0.075的平方出问题,数值再大的话,13.5、26、5也类似。
其实还有一种情况:
Function X(a!) As Single
X = a
End Function
取a=0.075,结果X=0.07500000003。

请注意EXCEL运算的逻辑顺序.四则运算是优先于其它运算的.

Function pf(a!, b%) As Single
pf = a * (10 ^ b)
End Function

你把自定义函数改成这样才行
----------------------------
由于EXCEL存在浮点运算时会产生误差,所以,请慎用单/双精度类型.这是连微软也没有办法的问题.
Function X(a)
X = a
End Function

改成这样,就没问题
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-13
既然要做“平方”函数,为什么你做成多次方(幂运算)?
做成下面结果如何:
Function pf(a!) As Single
pf = a * a
End Function
第2个回答  2009-07-11
设置单元格格式,数字---小数点(选择1位)

关于Excel 自定义平方函数
Function pf(a!, b%) As Single pf = a * (10 ^ b)End Function 你把自定义函数改成这样才行 --- 由于EXCEL存在浮点运算时会产生误差,所以,请慎用单\/双精度类型.这是连微软也没有办法的问题.Function X(a)X = a End Function 改成这样,就没问题 ...

相似回答