Subversion Repositories wimsdev

Rev

Rev 4158 | Rev 7692 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4
 
4701 bpr 5
slib_author=Fabrice, Guerimand
6
slib_example=4345678\
7
5678\
8
5 234\
9
456.789567\
10
456.789567,comma\
11
[897456,789],comma
20 reyssat 12
!exit
13
 
14
:proc
4701 bpr 15
slib_input=$(wims_read_parm[1])
16
slib_input=!declosing $slib_input
17
slib_input=!replace internal , by . in $slib_input
18
!if comma isin $wims_read_parm
19
 slib_point=,
20
!endif
21
!default slib_point=.
20 reyssat 22
 
4701 bpr 23
slib_test=$[$slib_input]
24
!if NaN isin $slib_test
20 reyssat 25
 slib_out=NaN
26
 !exit
27
!endif
28
 
29
!if e isin $slib_input
30
 slib_out=$slib_input
31
 !exit
32
!endif
4701 bpr 33
slib_input=!nospace $slib_input
34
slib_decomp=!replace internal . by , in $slib_input
35
slib_part=!item 1 of $slib_decomp
36
slib_nbchi=!charcnt $slib_part
37
slib_nbgrp=$[floor($slib_nbchi/3)]
20 reyssat 38
slib_out=$empty
4701 bpr 39
!ifval $slib_nbgrp*3!=$slib_nbchi
40
 slib_out=!char 1 to $[$slib_nbchi-3*$slib_nbgrp] of $slib_part
20 reyssat 41
!endif
4701 bpr 42
!for slib_i=0 to $slib_nbgrp-1 
43
 slib_tmp=!char $[$slib_nbchi-3*($slib_nbgrp-$slib_i)+1] to $[$slib_nbchi-3*($slib_nbgrp-$slib_i-1)] of $slib_part
44
 slib_out=$slib_out $slib_tmp
45
!next slib_i
20 reyssat 46
 
4701 bpr 47
slib_tst=!itemcnt $slib_decomp
48
!if $slib_tst=1
49
 slib_out=!singlespace $slib_out
20 reyssat 50
 !exit
51
!endif
4701 bpr 52
slib_part=!item 2 of $slib_decomp
53
slib_nbchi=!charcnt $slib_part
54
slib_nbgrp=$[ceil($slib_nbchi/3)]
55
slib_tmp=!char 1 to 3 of $slib_part
56
slib_out=$(slib_out)$slib_point$slib_tmp
57
!for slib_i=1 to $slib_nbgrp 
58
 slib_tmp=!char $[1+3*($slib_i)] to $[3+3*$slib_i] of $slib_part
59
 slib_out=$slib_out $slib_tmp 
60
!next slib_i
61
 
62
slib_out=!singlespace $slib_out