Python浮点的最长字符串表示形式是什么?

2024-03-29 05:55:09 发布

您现在位置:Python中文网/ 问答频道 /正文

Python中str(float(any_possible_value))的最大长度是多少


Tags: valueanyfloatstrpossible
2条回答

您可以通过运行以下命令获得浮子的最大长度:

sys.float_info.max

它返回:1.7976931348623157e+308。字符串仅限于Python ram,因此这是最大的数字

没有最大长度,因为您可以打印任意数量的数字。例如:

f'{0.1:.25g}'

它还取决于格式:

f'{1e-6:.6f}'  # 0.000001

vs

f'{1e-6:.6g}'  # 1e-06

当然还有地点,可能还有其他因素

但您仍然可以得到str(float(x))可以合理返回的合理上限:

  • IEEE 754二进制双精度浮点中有53位尾数精度。大约是15-16位小数。带前导零或一的17(例如,sys.float_info.max 表示很多)
  • 小数点为一位
  • 科学记数法将有'e'、一个符号和最多三位十进制指数(以基数精度为界),总共五位
  • 可以有符号字符

24字符似乎是正常情况下默认语言环境中str(float(x))可能返回的合理上限

相关问题 更多 >