楼上提到了正则表达式,自己一直也是一知半解的,
第一次来,要努力学习,花了2小时研究出来的,正好刚开号要2小时后才能发帖
顺便问下2楼的金钱有什么用的;正则表达式学习
MsgBox(0,"测试:浮点->千分位货币",Format("1234567.890123"))
Func Format($sRs)
;无小数点的话,添加小数点
If StringInStr ($sRs, ".") = 0 Then $sRs = $sRs & "."
;查找小数点,并在小数点前的千分位上添加','
$sRs = StringRegExpReplace($sRs ,'\A(\d+)(\d{3})(\.)','$1,$2.')
;在每([数字][数字][数字],)前插入',',除非已经是字符串开头
While 1
$sRs = StringRegExpReplace($sRs,'\A(\d+)(\d{3}),','$1,$2,')
If @Extended = 0 Then ExitLoop
WEnd
;在小数位后补零,使小数位>=2位
$sRs = $sRs & "00"
;把小数位0.00后面的替换为空
$sRs = StringRegExpReplace($sRs,'\.(\d{1})(\d{1})(.*)','\.$1$2')
Return $sRs
EndFunc
|