繁体   English   中英

Python 浮点到字符串,精度为变量

[英]Python float to string, precision as variable

我想将a = 1.1234567类的浮点数转换为字符串,将精度作为第二个变量(这就是为什么这与“带 f 字符串的小数点后固定数字”不重复的原因):

def float2str(val, precision):
    ...

float2str(1.1234567, 3)  # '1.123'
float2str(1.1234567, 5)  # '1.12346' (mind correct rounding)

我知道 f-strings 可以使用f'{a:.5f}'进行正确的舍入,但精度必须是字符串的一部分。

我想出了这个非常丑陋的解决方案,希望有人能指出我更优雅的方式:

f'%.{precision}f' % a

你有几个选择,给定:

a = 1.1234567
b = 3

我们可以使用:

  1. 使用格式字符串: f'{a:.{b}f}'
  2. 使用旧式百分比格式: '%.*f' % (b, a)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM