前言
由于没有找到合适的十进制int转换为10进制char,即输入(int)11,输出(char)‘11’。
于是写了一个建议的进制转换,10进制转换为2/8/10/16
代码
# MindPlus
# mpython
from mpython import *
import os
a=0
path="test\\b.txt"
xxx=open(path,"w")
num='0'
#print('10/3 = ',10/3) 3.333333
#print('9/3 = ',9/3) 3.0
#print('10//3 = ',10//3) 3
#print('10%3 = ',10%3) 1
def int2char (x):
numbers = {
0 : '0',
1 : '1',
2 : '2',
3 : '3',
4 : '4',
5 : '5',
6 : '6',
7 : '7',
8 : '8',
9 : '9',
10 : 'a',
11 : 'b',
12 : 'c',
13 : 'd',
14 : 'e',
15 : 'f',
}
return numbers.get(x,None)
# 十进制int转十进制字符串
def int_2_dec( value , key_num):
a=value%key_num
result=''
#print("value",value)
if (a == 0) & (value == 0 ):
result = '0'
return result
#print("result",result)
#print("a!=0",a!=0)
#print("value > 0",value > 0)
while True :
if a == 0:
if value <= 0:
break
#print("enter")
#print("a",a)
temp=int2char(a)
#temp=hex(a).replace('0x','')
result=temp+result
#print("result",result)
value=(value-a)//key_num
#print("value",value)
a=value%key_num
#print("a",a)
return result
#print("result",int_2_dec(10))
PS:hex()就是将输入数值以"0xAB"显示的,我这里直接借用了该函数,删除了0x,其实还可以自己写类似switch函数判定,这个a是1位int型,所以如果是10进制就是0-9的case。
运行结果