=ROUND(MAX((T5-3500)*5%*{0.6,2,4,5,6,7,9}-5*{0,21,111,201,551,1101,2701},0),2) 什么意思

2020-08-20 时尚 81阅读

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

#include

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()

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com