在數字字串中按每三位新增乙個逗號

2021-06-03 22:10:08 字數 1932 閱讀 1705

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,中最...