=ROUND(MAX((T5-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701},0),2) 什么意思
1.第一层函数:round(X,2)是一个四舍五入到小数点后两位的函数,
2.第二层函数:MAX((a1-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701},0),计算的数值是(a2-3500)后的值与相应税级百分数(0,0.03,0.1,0.2……)的乘积减去税率所在级距的速算扣除数0、105、555……所得到的最大值,因个人所得税额与税率、所得额的函数曲线是斜率不断增大的向上坡线,所以最大值就是所得额所在点计算出的税额。
扩展资料:
Round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。可是当保留位跟着的即使是5,有可能进位,也有可能舍去,机会各50%。这样就会造成在应用程序中计算有误。下面这个函数能真正实现四舍五入功能,用以取代Round函数。
PublicFunctionRoundToLarger(dblInputAsDouble,intDecimalsAsInteger)AsDouble
'执行Round()函数,有可能进位。
'也有可能舍去
DimstrFormatStringAsString'格式化字符串;
'如果是“0”,则返回“0”,否则进行适当的格式化:
IfdblInput<>0Then
strFormatString="#."&String(intDecimals,"#")
RoundToLarger=Format(dblInput,strFormatString)
Else
RoundToLarger=0
EndIf
EndFunction
number,要四舍五入的数,digits是要小数点后保留的位数
如果 digits 大于 0,则四舍五入到指定的小数位。
如果 digits 等于 0,则四舍五入到最接近的整数。
如果 digits 小于 0,则在小数点左侧进行四舍五入。
如果round函数只有参数number,等同于digits 等于 0。
返回值
四舍五入后的值
举例
round(3.1415926,2)=3.14;
round(3.1415926,3)=3.142;
select round(193,-2)from dual; 200
select round(193,-1)from dual;190
select round(193,-3)from dual;0
利用INT函数构造四舍五入的函数返回的结果精度有限,有时候满足不了我们的实际需要。Excel的Round函数可以解决这个问题。
ROUND函数中:
如果 num_digits 大于 0(零),则将数字四舍五入到指定的小数位。
如果 num_digits 等于 0,则将数字四舍五入到最接近的整数。
如果 num_digits 小于 0,则在小数点左侧前几位进行四舍五入。
若要进行向上舍入(远离 0),请使用 ROUNDUP 函数。
若要进行向下舍入(朝向 0),请使用 ROUNDDOWN 函数。
若要将某个数字四舍五入为指定的倍数(例如,四舍五入为最接近的 0.5 倍),请使用 MROUND 函数。
举例:
ceil(x)返回不小于x的最小整数值(然后转换为double型)。
floor(x)返回不大于x的最大整数值。
round(x)返回x的四舍五入整数值。
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
float num = 1.4999;
printf("ceil(%f) is %f\n", num, ceil(num));
printf("floor(%f) is %f\n", num, floor(num));
printf("round(%f) is %f\n", num, round(num));
return 0;
}
编译:$cc test.c -lm
执行:$./a.out
ceil(1.499900) is 2.000000
floor(1.499900) is 1.000000
round(1.499900) is 1.000000
Matlab中round()
推荐于2018-03-13
中括号内的数乘上5%即为税率或速算扣除数。