jhun 发表于 2010-4-9 17:01:57

显然写成这样,用正则好得多,不过正则有人写了,我就用不用正则的来写吧,呵呵

$a1=InputBox(0,"","")
Dim $text
If StringIsDigit (StringReplace ($a1,".",""))=1 Then
        For $i=1 To StringLen ($a1)
                If StringMid ($a1,$i,1)= "." Then $k=StringMid ($a1,$i,StringLen ($a1)-$i+1)
        Next
        $a1=StringReplace ($a1,$k,"")
        If StringIsDigit ($a1)=1Then
                For $i =3 To StringLen ($a1) Step 3
                        If $i-StringLen ($a1)=0 Then
                                $text=StringLeft($a1,3)&$text
                                ExitLoop
                        EndIf
                        $text=","&StringMid ($a1,StringLen ($a1)-$i+1,3)&","&$text
                Next
                If StringRight ( $text, 1 )="," Then $text=StringTrimRight ( $text, 1 )
                MsgBox(0,"",StringReplace (StringLeft ($a1,Mod ( StringLen ($a1) , 3 ))&$text,",,",",")&$k)
        EndIf
EndIf

afan 发表于 2010-4-9 17:16:43

http://www.autoitx.com/forum.php?mod=viewthread&tid=14377
需要的可以测试下
页: 1 [2]
查看完整版本: 如何用正则方法 将任意长度数字,间隔3位加个","?