首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >科学(e)格式的小数点后的位数

问科学(e)格式的小数点后的位数
EN

Stack Overflow用户
提问于 2021-04-03 07:18:43
回答 1查看 53关注 0票数 1

我希望在保留科学格式(例如2.989e+10)答案的同时,获得小数点后所需的位数。我知道方法的格式:"{:0.Ae}".format(given_number),其中A是小数后的位数。但是,我通过一个变量获取小数点(A)后的位数。有没有人能帮我实现一下,才能得到想要的结果?我的代码:假设A是小数点后的位数。

代码语言:javascript
复制
for val in [1.049666666666667e-08, 4.248944444444444e+05]:
    val_log = math.log10(val);
    val_e = round(val_log - (0.5 if val_log<0 else 0));
    A = abs(val_e +3);
    valstr = "{:0.Ae}".format(val)
print(valstr)

它基本上是小数点后的位数(A)= |3 + e|后的值。如何在{:0.xe}.format(val)中使用A的值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-03 07:39:16

您可以在精度字段中嵌套一个变量,正如formatted string literals的文档在带有注释“嵌套字段”的示例中指出的那样。

下面是一个更简单的示例,它将精度限制为3位(或小数点后的2位):

代码语言:javascript
复制
>>> f = 123.12345
>>> n = 3
>>> print(f'{f:.{n}}')
1.23e+02
>>>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66926304

复制
相关文章

相似问题

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