Python:Float会失去精度?

2024-06-25 06:16:06 发布

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

我有一个程序需要一个浮动。比如说,这个数字是1353118103.108893381。数字是传入的较大字符串的一部分,每个参数用空格隔开。例如,Arg1 Arg2 1353118103.108893381 Arg3将是传递到程序中的全部内容。程序将输入存储到字符串inps。然后我使用inps.split(' ')将每个参数分成一个列表。在

所以我现在有了类似finput = ['Arg1', 'Arg2', '1353118103.108893381', 'Arg3']的东西。我现在想玩玩浮点数。但是,浮点数当前是一个字符串,所以我想把它转换成一个浮点数类型。我使用rinput = float(finput[2])。但是,当我做print "%.9f" % rinput时,输出给我1353118103.108893394(最后两个数字是关闭的)。你知道程序为什么这么做吗?在

谢谢!在


Tags: 字符串程序列表参数数字arg3split空格
1条回答
网友
1楼 · 发布于 2024-06-25 06:16:06

在浮点表示法中,每一位要么用来表示整数部分,要么用来表示数字的小数部分。整数部分(以绝对值表示)越大,表示它所需的位数就越多,因此小数所剩的位数就越少,因此可能会失去精度。在

尝试分别存储整数部分和小数部分,或使用decimal

相关问题 更多 >