Python 实现小数和百分数的相互转换

最近在画图时候发现我居然不会把分数转为百分比!what?主要是之前也没有过这个需求,anyway,百度一下就有了,这里当记录!

1.百分比转为小数,这里默认百分比是字符串

# -*- coding: utf-8 -*-
s = '20%'  # 默认要转换的百分比是字符串
aa = float(s.strip('%')) # 去掉s 字符串中的 %
bb = aa/100.0
print(bb)

# 输出结果是 0.2

2.小数转为百分比 ----- "%.2f%%" % (a * 100)

#方法一

a = 0.3214323
bb = "%.2f%%" % (a * 100)
print(bb)
# 输出结果是32.14%

#方法二

a = 0.3214323

b = str(a*100) + '%'
print(b)
# 输出结果是32.14323%

用在matplotlib画图中

plt.figure(figsize=(15,7))
plt.plot(up_move['各月份上涨概率'])
for a,b in zip(up_move.index,up_move['各月份上涨概率']):
    print(b)
    plt.text(a, b+0.01, '%.3f' %b, ha='center', va= 'bottom',fontsize=20)
    #plt.text(a, b+0.01, '%.3f%%' %(b*100), ha='center', va= 'bottom',fontsize=20)
plt.ylim(0.2,0.9)
plt.show()

Python 实现小数和百分数的相互转换_第1张图片

plt.figure(figsize=(15,7))
plt.plot(up_move['各月份上涨概率'])
for a,b in zip(up_move.index,up_move['各月份上涨概率']):
    print(b)
    #plt.text(a, b+0.01, '%.3f' %b, ha='center', va= 'bottom',fontsize=20)
    plt.text(a, b+0.01, '%.3f%%' %(b*100), ha='center', va= 'bottom',fontsize=20)
plt.ylim(0.2,0.9)
plt.show()

Python 实现小数和百分数的相互转换_第2张图片

你可能感兴趣的:(python,Matplotlib)