KB转整数MB的正则?【已解决】
本帖最后由 gzh888666 于 2011-12-9 16:33 编辑KB转整数MB的正则应该怎么写?请教了!需要四舍五入! 这个干嘛用正则呢?完全是个计算式~
$MB = Round($KB / 1024) 真是将正则滥用到极致了啊。不要一遇到问题就想用正则解决,思维都开始定向了。这个问题即便能用正则解决,效率也将是无比低下。你安分一点,用除法运算如何?效率没的说。难道楼主兄是在练习发散思维? 的确是想学学正则!呵呵,算是个垃圾题! 本帖最后由 lixiaolong 于 2011-12-9 17:14 编辑
回复 1# gzh888666
用了正则,只支持整数,没事练习练习~
$KB = 1000
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 1024
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 100000
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 9216
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 8192
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 7168
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 6144
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 4096
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 3072
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 2048
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 2048
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
$KB = 1024000
MsgBox(0, $KB & 'KB', KBtoMBSplit($KB))
Func KBtoMBSplit($numY); KBtoMB
Local $KB_TO_MB = StringRegExpReplace($numY, '(?m)^(1)0|(2)0|(3)0|(4)0|' & _
'(5)0|(6)|(7)|(8)|(9)', '\1\2\3\4\5\6\7\8\9')
;~ $KB_TO_MB = StringRegExpReplace($KB_TO_MB, '(\d)(?=(\d{3})+(?!\d))', '\1,'); 加逗号
Return $KB_TO_MB & ' MB'
EndFunc ;==>KBtoMBSplit
【(?m)^】这个去掉也行.
页:
[1]