haodd 发表于 2010-9-4 19:39:43

【已解决】读取到的数字字符串处理问题

本帖最后由 haodd 于 2010-9-5 00:02 编辑

读取到配置文件的字符串如何在前面加 0
AA = 001 - 100
BB = 001 - 300要输出

AA001
AA002
……
……
AA100
BB001
BB002
……
……
BB300

haodd 发表于 2010-9-4 20:45:09

Dim $i,$head
$info=IniReadSection ("config.ini","num")
$msg = StringSplit($info,"-")
For $head = 1 To $msg
$msg += $i
$i = 1
Switch $msg
        Case        $msg <= 9
                $msg= "00" & $msg
        Case   $msg <= 99
                $msg = "0" & $msg

EndSwitch
MsgBox(0,$msg,$msg)
Next

haodd 发表于 2010-9-4 20:45:45

呵呵方法有点烂

haodd 发表于 2010-9-4 21:20:00

#include<array.au3>
Dim $dis,$head,$end,$i
$info=IniReadSection ("config.ini","num")
$msg = StringSplit($info,"-")
$arrlen = $msg - $msg + 1
Dim $arr[$arrlen]
For $head = 0 To $msg - 1
$msg += $i
$i = 1
Switch $msg
        Case        $msg <= 9
                $arr[$head] =$info & "00" & $msg
        Case   $msg <= 99
                $arr[$head] =$info & "0" & $msg
        Case Else
                $arr[$head] = $info &$msg
EndSwitch
Next
_ArrayDisplay($arr)

3mile 发表于 2010-9-4 21:20:27

#include <array.au3>

Dim $i, $head
Local $str = ''
$info = IniReadSection("config.ini", "num")
For $i = 1 To UBound($info, 1) - 1
        $msg = StringSplit($info[$i], "-")
        For $n = StringFormat('%01d', $msg) To StringFormat('%01d', $msg)
                $str &= $info[$i] & StringFormat('%03d', $n) & @TAB;可以换成@crlf
        Next
Next
MsgBox(0, 0, $str)

haodd 发表于 2010-9-4 21:26:31

为什么 当配置文件为AA = 008 - 100出错了呢?

AA = 001 - 100 没有报错 能正常打印数组

haodd 发表于 2010-9-4 21:28:03

$arr[$head] = $info &$msg
^ ERROR

haodd 发表于 2010-9-4 21:31:01

数组下标溢出~

我太大头鬼了 了{:face (113):}
页: [1]
查看完整版本: 【已解决】读取到的数字字符串处理问题