首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中将浮点数设置为一定的小数位数

如何在python中将浮点数设置为一定的小数位数
EN

Stack Overflow用户
提问于 2017-04-01 02:18:43
回答 1查看 143关注 0票数 1

我试图将一只股票的收益率设置为一定的小数点后数位,但每当有重复的数字时,它似乎就忽略了这一规则。我从雅虎获得每股收益和价格数据,然后将每股收益除以价格,得到收益收益率,然后尝试将其设置为最多四位小数点。这适用于所有情况,除非第四个小数位有重复的数字。例如,如果计算得到一个像.106444444444这样的数字,python将返回整个数字,而不是返回.1044,但如果该数字类似于.10452343,它将返回.1045。当有重复的数字时,我不确定如何处理这种情况。from yahoo_finance import Share

ticker = Share("UTHR")

price = ticker.get_price()

EPS = ticker.get_EPS_estimate_current_year()

earn_yield = float(EPS)/float(price) if EPS else 0

ey = float('%.4f' % float(earn_yield))*100

EN

回答 1

Stack Overflow用户

发布于 2017-04-12 22:22:56

而不是使用:

代码语言:javascript
复制
ey = float('%.4f' % float(earn_yield))*100

试着使用下面的代码:

代码语言:javascript
复制
ey = round(earn_yield*100, 4)

  • 舍入返回小数点后精度为n位的数字。
  • 移动*100会在尝试舍入之前将earn_yield相乘。
  • I还删除了浮点数,因为默认情况下,ey变量应在此处返回浮点数。

希望它能帮你解决这个问题!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43147237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档