使用Python中的字符串查找方法截断数字

时间:2018-04-19 10:09:46

标签: python python-3.x

这是一段代码

numstring = str(15.555555) 
num = float(numstring[:numstring.find('.')+4])

我知道上面的代码在num中存储15.555。 ' + 4'是什么?在上面的代码中指定?

2 个答案:

答案 0 :(得分:0)

这:

numstring.find('.')

给出'.'的第一个并发的索引。在你的情况下,它是唯一的并发。

我们称之为:

index = numstring.find('.')

然后,您将numstring从开头(索引0)切换到index+4

这意味着你将'.'之后的子字符串从开头变为4个字符,包括点本身,这意味着该点后面有3个小数。

所以:

"12.34567"

变为:

"12.345"

答案 1 :(得分:0)

虽然给出了很好的答案,但他们都在使用字符串转换。这是使用math模块执行此操作的方法,该模块不需要字符串:

import math

number = 15.55555555
decimal_precision = 3
f = 10**decimal_precision
result = math.floor(number*f)/f
print(result)

# one liner 
# result = math.floor(number*1000)/1000

输出:

15.555