需要获得精确值或更低的值

2020-09-09 14:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨。
我有1个查询,但无法解决。

有以下两个变量,T1的小数点为10,在创建的出口i中,
和t2是出口的标准字段,其点为小数点2(标准的我不能更改

DATA:T1(10)P型小数位数10值'0.226210833333',
T2(10)P型小数位数2。

我正在做一些计算,根据我的业务交易,然后将值移到T1。
现在,此T1值移到T2。
问题出在

T1值为'0.226210833333'

如果我将T1移至t2,则取值为0.23
该值输入有误。

观察到的是
如果T1为'0.226 T2获得为0.23
如果T1为0.225 T2获得为0.23
如果T1为0.224 T2获得为0.22

因此,在Dot之后,它要取3个小数点后的第三个小数位小于5,然后取0.22,否则取0.23。
我想传递精确值0.226,否则我想传递0.224,但不超过0.226 >我不想传递大于0.226的值,如果该值较小,也没问题,但我不想传递0.23。

我尝试过Ceil和Float之类的功能,但无法正常工作。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨。
我有1个查询,但无法解决。

有以下两个变量,T1的小数点为10,在创建的出口i中,
和t2是出口的标准字段,其点为小数点2(标准的我不能更改

DATA:T1(10)P型小数位数10值'0.226210833333',
T2(10)P型小数位数2。

我正在做一些计算,根据我的业务交易,然后将值移到T1。
现在,此T1值移到T2。
问题出在

T1值为'0.226210833333'

如果我将T1移至t2,则取值为0.23
该值输入有误。

观察到的是
如果T1为'0.226 T2获得为0.23
如果T1为0.225 T2获得为0.23
如果T1为0.224 T2获得为0.22

因此,在Dot之后,它要取3个小数点后的第三个小数位小于5,然后取0.22,否则取0.23。
我想传递精确值0.226,否则我想传递0.224,但不超过0.226 >我不想传递大于0.226的值,如果该值较小,也没问题,但我不想传递0.23。

我尝试过Ceil和Float之类的功能,但无法正常工作。

付费偷看设置
发送
4条回答
风早神人
1楼-- · 2020-09-09 15:08

由于T2有2个小数,并且您说不能更改,我看到的唯一选项是如果有该选项,则在退出后执行某些操作。 您将T1乘以10之前将其乘以T2,然后从出口返回后再进行其他工作。

如果在调用出口后仍然无法执行任何操作,那么我看不到任何选项。

半个程序猿
2楼-- · 2020-09-09 15:31

默认情况下,ABAP会进行四舍五入取整,所以得到的是 正常。 但是我不明白您对'0.226210833333'期望的取整值是多少? 请给一个数字。

我是小鹏鹏啊
3楼-- · 2020-09-09 15:22

嗨,

尝试

创建一个可执行程序,请取消选中属性中的定点运算。

在程序内部使用执行更改参数将值从t1传递到t2。

关于

Venkat

梦想连接
4楼-- · 2020-09-09 15:19

嗨,

您可以使用:

 t2 = | {round(val = t1
                十月= 2
                模式= 5)} |。
 

亲切的问候,罗伯·迪勒曼斯

一周热门 更多>