
*
*@paramdecimal 10进制长整型
*
*@return36进制字符串
*/
+ (NSString*)decimal2ThirtySix:(unsignedlonglong)decimal
{
NSMutableString* dd = [NSMutableStringstring]
NSString* parma =@"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
unsignedlonglongi = decimal
while(i>0){
intc = i%36
i = i/36
charcc = [parmacharacterAtIndex:c]
[ddinsertString:[NSStringstringWithFormat:@"%c",cc]atIndex:0]
}
returndd
}
/**
* 36进制字符串转换10进制长整型变量
*
*@paramthirtySixStr 36进制字符串
*
*@return10进制长整型变量
*/
+ (unsignedlonglong)thirtySix2Decimal:(NSString*)thirtySixStr{
NSString*str36 = [thirtySixStrcopy]
unsignedlonglongcou=0
unsignedlonglength = [str36length]
for(unsignedlongj = length j>0j--) {
charc = [str36characterAtIndex:j-1]
if(c>='0'&&c<='9'){
cou = cou+(c-'0')*pow(36,(length-j))
}elseif(c>='a'&&c<='z'){
cou = cou+(c-'a'+10)*pow(36,(length-j))
}
}
returncou
}
用 VBA 自定义函数解决(调用:B1 = Dec2Base36(A1))
Function Dec2Base36(rg As Integer) As Stringjz = 36
rt = ""
If rg < jz Then
rt = num2str(rg)
Else
tg = rg
While tg >= jz
zc = Int(tg / jz)
ys = tg - zc * jz
rt = num2str(ys) & rt
tg = zc
Wend
rt = num2str(tg) & rt
End If
Dec2Base36 = rt
End Function
Function num2str(n) As String
If n > 9 Then
n = n + 55
rt = Chr(n)
Else
rt = n
End If
num2str = rt
End Function
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)