gzh888666 发表于 2011-12-9 14:24:17

KB转整数MB的正则?【已解决】

本帖最后由 gzh888666 于 2011-12-9 16:33 编辑

KB转整数MB的正则应该怎么写?请教了!需要四舍五入!

afan 发表于 2011-12-9 14:47:10

这个干嘛用正则呢?完全是个计算式~
$MB = Round($KB / 1024)

pusofalse 发表于 2011-12-9 14:58:25

真是将正则滥用到极致了啊。不要一遇到问题就想用正则解决,思维都开始定向了。这个问题即便能用正则解决,效率也将是无比低下。你安分一点,用除法运算如何?效率没的说。难道楼主兄是在练习发散思维?

gzh888666 发表于 2011-12-9 16:32:45

的确是想学学正则!呵呵,算是个垃圾题!

lixiaolong 发表于 2011-12-9 17:13:08

本帖最后由 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]
查看完整版本: KB转整数MB的正则?【已解决】