简介
这篇博文给出了数字函数的基本概况,语法,数据类型,可接受的数字函数,输出和观察的屏幕截图。
段落正文
我以SPFLI表格Paymentsum字段的简单示例为数字函数。
图像源(sunila.k abap consuntent)
本例中Paymentsum字段高亮显示的行值为168541.80。
CEIL函数:
执行CEIL操作后一次从168541.80改为下一个最高整数值168542
所以如果当前值有小数部分,大数据市场,我们可以说CEIL运算将给出当前值的下一个整数值
语法:
如果字段的当前值没有小数部分
图像源(sunila.k abap consuntent)
该值保持如上图所示突出显示记录。
楼层函数:
楼层操作删除小数部分,只给出整数值。
语法:
图像源(sunila.k abap consuntent)
删除数字的所有小数部分,只显示整数值。
舍入函数:
pos大于0时arg的舍入值,该值四舍五入到小数点分隔符右侧的位置。如果不是这样,则小数点分隔符左侧的位置abs(pos)+1被舍入。如果位数不够,结果是0。
语法:
代码:
图像源(sunila.k abap consultent)
在上面的示例中,我对具有不同舍入位置的相同参数Paymentsum应用舍入运算。
结果:
图像源(sunila.k abap consultent)
说明:
在上面的图片中我们可以看到原始字段值在整数后有小数点。
在第一个高亮记录中,当对位置值为1的值193414.86进行舍入操作时(舍入表达式1),函数将查找最接近的舍入值,即193414.90,小企业管理软件免费,与位置值为2或大于2的值相同(舍入表达式2),它按原样显示值,现在我可以看到小数点后的两位数字。例如:如果值为193414.8626345,则十进制四舍五入后只能看到两个数字,即193414.8600000。同样地,对于位置为0的同一个值(round_exp3),我只能看到小数部分四舍五入为0的整数值,如193414.00所示。
在第2个突出显示的记录中,原始值已经四舍五入73794.70,如果我们对其进行四舍五入操作,则不会产生任何影响,因为目的已经实现。
在第3个突出显示的记录中突出显示的记录原始值为169954.34,位置值为1(舍入表达式1)。函数查找最接近的舍入值,即169954.30。
MOD函数:
MOD操作将给出arg1除以arg2的正整数或负整数余数。
语法:
MOD操作只接受整数值作为类型参数。
代码:
图像源(sunila.k abap consultent)
说明:
在上面的例子中,我通过对paymentsum和seatocc应用mod操作来计算别名字段price\u余数,云服务器报价,因为paymetsum字段是currency类型,它的显示错误是因为mod函数只接受整数类型作为参数,因此我应用了paymentsum上的CEIL函数,它在运行时给出paymentsum的整数类型,如下所示,以获得MOD.
结果:
通常在实时场景中,如果参数的数据类型不是整数,则必须使用CAST操作在复合视图中转换要应用MOD操作的参数的数据类型Paymentsum/seatocc=price\u余数,如下图所示。
图像源(sunila.k abap consuntent)
Div和除法函数:
Div运算符:arg1除以arg2的整数部分。除数后分配符号;如果参数符号相同,则为正;如果参数符号不同,淘客分佣系统,则为负。异常:arg2的值为0。
语法:
除法运算符:将arg1除以arg2,结果四舍五入到小数点后12位。
语法:
代码:
图像源(sunila.k abap consuntent)
说明:
除法运算符和除法运算符都将执行arg1/arg2的除法(本例中为paymentsum/seatmax)
并给出作为结果的商,但只有差是Div运算符将不显示小数部分,其中
作为除法运算符将根据arg3处的值显示小数舍入位数。
结果:
除法函数给出商,其中as MOD给出余数。
MOD和带符号的Div函数之间的差。
SQL函数DIV和MOD在符号方面的行为与ABAP运算符DIV和MOD不同。在SQL函数DIV中,参数的数量被除以,然后分配符号(如果参数具有相同的符号,则为正;如果参数具有不同的符号,则为负)。因此,MOD的结果可以是负数,因此将DIV的结果乘以expr2再加上MOD的结果,得到expr1的值。另一方面,ABAP操作员MOD,只产生正结果。
除法函数给出商,其中as MOD给出余数。
示例
下表显示了SQL中整数除法及其整数余数的结果。
ABS运算符:将只给出正值输出。
语法:
代码:
图像源(sunila.k abap)顾问)
说明:
在这个cds视图中,我显示了三列,分别是学生id(id)、标记(marks1)和否定标记(neg泷u标记),字段neg泷u标记有–ve标记,返利怎么使用,我用数字函数ABS On neg\u marks[ABS(neg\u marks)as absolute\u marks]将其转换为+ve值。
结果:
图片来源(sunila.k abap consuntent)
结论:
通过阅读本博客,读者将获得所有CD数字函数的基本概览.
参考文献:
https://help.sap.com/doc/abapdocu\u 751\u index\u htm/7.51/en-us/abencds\u f1\u sql\u functions\u numeric.htm
https://help.sap.com/doc/abapdocu\u 751\u index\u htm/7.51/en-us/abensql\u functions\u numeric.htm