- python保留指定位数的小数
1.进行四舍五入
print('%.3f'% 3141456.1415926)
print('{:.2f}'.format(1456.14159))
# 3141456.142
# 1456.14
2.不进行四舍五入(直接截断)
1.先放大指定倍数,后取整,后再除以指定倍数
保留三位小数
a=1234.56789
print(int(a*1000)/1000)
# 1234.567
2.转为字符串进行字符串截取,截取小数点后指定的位数【不进行四舍五入】
a = 2.345678
# 转为字符串,以点进行分割
a1 = str(a).split('.')[0]
a2 = str(a).split('.')[1]
# 截取字符串小数点后的
a3 = a2[0:3] # 截取3位
# 字符串连接
a4 = a1 + '.' + a3
# 将string类型转换为float类型
newa = float(a4)
print(newa)
# 2.345
2.去掉数字中的千分位
1.纯数字的字符串
a = '12,235,454.123654'
b = a.replace(',','')
print(b)
# 12235454.123654
2.含别的
b = "Today is Sunday, I'm shy,I bought $ 100,000.$ 12,345.34"
d = re.sub(r'/d,/d','',s)
print(d)
# Today is Sunday, I'm shy,I bought $ 100000.$ 12345.34
3.添加数字中的千分位
p = '{:,.3f}'.format(float('23543676.3476879324'))
print(p)
# 23,543,676.348