主程序中可直接使用,或以字符串变量接收返回值
01 | Program www_fcode_cn |
02 | Implicit None |
03 | character ( len = 30 ) :: AddComma 2 Integer |
04 | write ( * , * ) AddComma 2 Integer ( 2338021 ) |
05 | !// 输出为 +2,338,021 |
06 | End Program www_fcode_cn |
07 | !============================================================================ |
08 | ! 为整数添加千分位符号 |
09 | ! Num 整数 |
10 | !**************************************************************************** |
11 | function AddComma 2 Integer ( Num ) |
12 | integer , parameter :: len = 30 !int(8)最大20+6字节 |
13 | character ( len ) AddComma 2 Integer , temp |
14 | integer , intent ( in ) :: Num |
15 | integer i , j , k , m , n |
16 |
17 | temp = '' |
18 | AddComma 2 Integer = '' |
19 | write ( temp , '(spi)' ) Num !输出数据添加'+' |
20 | temp = adjustl ( temp ) !左对齐 |
21 | m = len_trim ( temp ) !字符长度 |
22 | n = ( m - 2 ) / 3 !千分位符号数量 |
23 | i = m - 3 * n !第一个千分位符号之前的字符数量 |
24 | j = i + 1 |
25 | k = j |
26 | AddComma 2 Integer ( 1 : i ) = temp ( 1 : i ) !第一个千分位符号之前的字符 |
27 | do i = 1 , n |
28 | AddComma 2 Integer ( j : j +3 ) = ',' / / temp ( k : k +2 ) |
29 | j = j + 4 |
30 | k = k + 3 |
31 | end do |
32 | end function |