需求说明
四舍五入是一个比较常见的需求,这里总结一下。
实现方式
- 通过函数HR_NZ_ROUNDING_DECIMALS,通过这种方式的时候遇到了问题,在本地测试时是正常的,在PRD测试时出了问题,调试了很多次没有解决,最后采用了其他方式
DATA: l_data TYPE p DECIMALS 3 VALUE '1.000'.
DATA: l_data1 TYPE p DECIMALS 3.
DATA:lv_zfre LIKE zmmtydanf-zfreje.
CALL FUNCTION 'HR_NZ_ROUNDING_DECIMALS'
EXPORTING
value_in = l_data
conv_dec = 2
IMPORTING
value_out = l_data1
EXCEPTIONS
no_rounding_required = 1
decimals_greater_than_10 = 2
rounding_error = 3
OTHERS = 4.
cl_demo_output=>display( l_data1 ).
- 通过函数ROUND
CALL FUNCTION 'ROUND'
EXPORTING
decimals = 0 " 保留多少位小数
input = lv_input
sign = 'X' " X 四舍五入 向上取舍 - 向下取舍 (负数也一样)
IMPORTING
output


922

被折叠的 条评论
为什么被折叠?



