将数字转成纯英文26进位制或像Excel的行编号那样[已解决]
本帖最后由 kk_lee69 于 2017-5-1 12:00 编辑簡單的小程式,將數字轉成純英文26進位制,列如A、B、C、...、Y、Z、AA、AB、...、AZ、BA、...,
或像Excel的行編號那樣。
以下是網上找的資料 ,但是我除了AU3 其他的語言不懂
能幫我轉一下AU3的寫法嗎??
private static String engCounter(int value){
String res = "";
while(value >= 26){
res = ((char)((value % 26)+65)) + res;
value /= 52;
}
res = ((char)((value % 26) + 65)) + res;
return res;
} 顺便做了测试代码
#include <Array.au3>
Global $aEnglish
For $Num = 1 To 100
$aEnglish[$Num - 1] = _NumberToEnglish($Num)
Next
_ArrayDisplay($aEnglish)
Func _NumberToEnglish($iNumber)
Local $res = ""
While $iNumber >= 26
$res = Chr(Mod($iNumber, 26) + 65) & $res
$iNumber /= 52
WEnd
$res = Chr(Mod($iNumber, 26) + 65) & $res
Return $res
EndFunc
回复 2# 帆船
謝啦 我測試看看感謝!! 回复 2# 帆船
学习了。但英文字母没有A? 回复 4# chzj589
原始代码是以0为A的。
页:
[1]