2020-08-21 09:11发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
要求:
输入输出
100.00 100
100.123 100.123
100.250 100.25
您可以仅使用带有DECIMALS 0的简单WRITE语句-有关WRITE格式选项的信息,请参阅SAP帮助:写-int_format_options
SAP Help中的示例:
数据:pack TYPE p LENGTH 8 DECIMALS 4 VALUE'1234.5678', formatted_text TYPE C长度10。 将数据包写入formatted_text NO-GROUPING小数位2。 cl_demo_output => display_text(formatted_text)。
" 1234.5678"的格式结果为" 1234,57"。
HTH
Dominik Tylczynski
您是否尝试过在Google中搜索? Google->"删除结尾的0个网站: sap.com "发现4k以上的匹配,首页从上到下都是 SCN帖子问同样的问题。
一些旧答案中提到了FM FTR_CORR_SWIFT_DELETE_ENDZERO。 它不会发布给客户,而是将" 100.00"转换为" 100"。 而不是" 100"。 但是它只有几行代码,因此在此基础上创建自己的实用程序方法应该并不困难。
为什么要这样做?
如果它是Z字段,您可以轻松实现转换退出,例如 ZZQTY并将此转换出口分配给数据元素的域。 到目前为止,以下编码尚不完整,因为您可能还必须考虑与数字显示有关的用户设置。 它很快又很脏,但是您可能会明白。
您将必须实现两个功能:
FUNCTION conversion_exit_zzqty_output。 *" ------------------------------------------------ ---------------------- *" *"本地接口: *"正在导入 *" VALUE(输入) *"汇出 *" VALUE(输出) *" ------------------------------------------------ ---------------------- 输出=输入。 SHIFT输出右删除拖尾''。 SHIFT输出右删除拖尾'0'。 SHIFT输出RIGHT DELETING TRAILING'。'。 结束功能。
功能conversion_exit_zzqty_input。 *" ------------------------------------------------ ---------------------- *" *"本地接口: *"正在导入 *" VALUE(输入) *"汇出 *" VALUE(输出) *" ------------------------------------------------ ---------------------- 数据:lv_qty TYPE zquantity。 尝试。 lv_qty =输入。 输出= lv_qty。 捕获cx_root。 清除输出。 ENDTRY。 结束功能。
如果这是一个标准字段和一个标准程序,我将认真考虑此请求,并愿意尝试修改屏幕输出而不是域,但这会做很多工作。/p>
如果固定了小数位数,则可以使用,但是在OP的示例中,可以是0到3个小数位数。
谢谢大家宝贵的时间: )
在处理字符时(如果仅在运行时知道类型,例如删除整数0或转储时出现语法错误),删除尾随的0总是将1变成100。
最多设置5个标签!
您可以仅使用带有DECIMALS 0的简单WRITE语句-有关WRITE格式选项的信息,请参阅SAP帮助:写-int_format_options
SAP Help中的示例:
" 1234.5678"的格式结果为" 1234,57"。
HTH
Dominik Tylczynski
您是否尝试过在Google中搜索? Google->"删除结尾的0个网站: sap.com "发现4k以上的匹配,首页从上到下都是 SCN帖子问同样的问题。
一些旧答案中提到了FM FTR_CORR_SWIFT_DELETE_ENDZERO。 它不会发布给客户,而是将" 100.00"转换为" 100"。 而不是" 100"。 但是它只有几行代码,因此在此基础上创建自己的实用程序方法应该并不困难。
为什么要这样做?
如果它是Z字段,您可以轻松实现转换退出,例如 ZZQTY并将此转换出口分配给数据元素的域。 到目前为止,以下编码尚不完整,因为您可能还必须考虑与数字显示有关的用户设置。 它很快又很脏,但是您可能会明白。
您将必须实现两个功能:
如果这是一个标准字段和一个标准程序,我将认真考虑此请求,并愿意尝试修改屏幕输出而不是域,但这会做很多工作。/p>
如果固定了小数位数,则可以使用,但是在OP的示例中,可以是0到3个小数位数。
谢谢大家宝贵的时间: )
在处理字符时(如果仅在运行时知道类型,例如删除整数0或转储时出现语法错误),删除尾随的0总是将1变成100。
< p>与提出的问题一样,假设值是从带有小数的数字类型传递的。 所以,当然,您必须小心并知道自己在做什么;)一周热门 更多>