如何将python数字转字符串

陈立农2023-06-16 14:54知识问答1373

经常在处理python的文本时,比如memory初始化文件,或者解析log中的数据做运算时,会用到字符串转数字。

字符串转数字

最常用的就是int(str, base=10),默认是处理十进制字符串,比如:

s = '10'
n = int(s)
print(type(n)) # <class 'int'>
print(n) # 10

那其它进制呢?

# 二进制
print(int('10', 2)) # 2

# 十六进制
print(int('a', 16)) # 10

# 前缀和大小写不重要
print(int('0xa', 16)) # 10
print(int('0Xa', 16)) # 10
print(int('0XA', 16)) # 10

带小数的字符串转数字的方法:

print(float('12.101')) # 12.101

数字转字符串

这个可以简单理解成格式化输出,用字符串的format函数就行了。在python的数据类型(三):字符串中已经有过format函数的介绍。我们再举一些例子:

print("{:b}".format(10)) # 1011
print("{:#b}".format(10)) # 0b1011

print("{:x}".format(10)) # a
print("{:#x}".format(10)) # 0xa

# 十六进制的大写形式(二进制没有大写的说法)
print("{:X}".format(10)) # A
print("{:#X}".format(10)) # 0XA

前面补0的方法:

print("{:0>4x}".format(10)) # 000a

# 同时补0和加0x
print("0x{:0>4x}".format(10)) # 0x000a 

format格式定义详见:
https://docs.python.org/3/library/string.html#formatspec小数格式化成字符串的方法:

print("{:f}".format(12.101)) # 12.101000
print("{:.2f}".format(12.101)) # 小数点后保存两位
文章更新于:(955天前)

版权声明:本站文章内容由用户自发贡献,该文观点仅代表作者本人除特别声明外均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

本文链接:https://dcyzq.com/post/1301.html

分享给朋友: