perform format_numeric using gt_sf_head-debit gt_sf_head-debit.
form format_numeric using num_org num_tag.
data : lt_num type table of string with header line.
data : l_num(100) type c.
data : l_dec type string.
data : l_len type i.
data : l_temp_str01 type string.
data : l_temp_str02(1) type c.
data : l_temp_str03 type string.
move num_org to num_tag.
* 在字串裡加逗號
split num_tag at 『.』 into table lt_num in character mode.
* 獲取整數部分和小數部分
loop at lt_num.
l_temp_str01 = lt_num.
at first.
l_num = l_temp_str01.
endat.
at last.
l_dec = l_temp_str01.
endat.
endloop.
l_len = strlen( l_num ).
do l_len times.
l_len = l_len - 1.
l_temp_str02 = l_num+l_len(1).
concatenate l_temp_str03 l_temp_str02 into l_temp_str03.
enddo.
l_num = l_temp_str03.
clear : lt_num.
refresh : lt_num.
call function 『rkd_word_wrap』
exporting
textline = l_num
delimiter = 『 『
outputlen = 3
* importing
* out_line1 =
* out_line2 =
* out_line3 =
tables
out_lines = lt_num
exceptions
outputlen_too_large = 1
others = 2.
if sy-subrc 0.
* message id sy-msgid type sy-msgty number sy-msgno
* with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
clear : l_num.
loop at lt_num.
concatenate l_num 『,』 lt_num into l_num.
endloop.
shift l_num by 1 places.
l_len = strlen( l_num ).
clear : l_temp_str03.
do l_len times.
l_len = l_len - 1.
l_temp_str02 = l_num+l_len(1).
concatenate l_temp_str03 l_temp_str02 into l_temp_str03.
enddo.
l_num = l_temp_str03.
* 重新賦值
clear : num_tag.
concatenate l_num 『.』 l_dec into num_tag.
金額數字字串整數字每三位加個逗號
業務邏輯 元件顯示 金額,非科學計數法 方便客戶 整數字每三位加個逗號。方法如下 public static void main string args str2 str1.substring i 3,i 3 3 if str2.endswith 去掉小數點後面的逗號 string ss str2....
數字每三位新增乙個 , 的不同實現方式
處理數值,為每三位數加乙個逗號,相容浮點型數值 以1234567.1234和12345678為例 function addcomma num 0 reverse 倒序回來 join temps 1 temps 1 如果是浮點數,就再加上小數部分 addcomma 1234567.1234 1,234...
數字字串,每三個數字加上逗號
將每三個數字加上逗號處理 通常使用金額方面的編輯 param str 無逗號的數字 return 加上逗號的數字 private static string addcomma string str strtemp reversestr.substring i 3,i 3 3 將 789,456,中最...