【发布时间】:2014-08-12 19:56:29
【问题描述】:
当像这样在 Python 3 中打印浮点变量时:
str(1318516946165810000000000.123123123)
输出是:
1.31851694616581e+24
标准库(不是 Numpy)中是否有一种简单的方法可以仅以 32 位浮点精度打印相同的内容? (或更一般的任何精度)
注意精度!= 位置,例如十进制
编辑
结果应该是类似 str 的字符串,但精度有限,例如: 上述浮点数的 32 位表示:
1.31851e+24
【问题讨论】:
-
你的意思是你想截断浮点数的十进制表示,这样它就不会给人一种准确的错误印象?
-
是的,在确保结果表示有效的 32 位浮点数(或任何位精度,如 24 位)的同时,目标是一个字符串,而不是实际的 python 浮点数。我希望有另一种方法,而不是再次手动解析字符串并确保上述限制
-
所以你想要一个可以将浮点数转换为字符串并返回的无损函数?它必须是人类可读的吗?
-
我将编辑问题以澄清
-
-完成(填充文本以使评论长度足够长)
标签: python python-3.x