首页 > 解决方案 > 在 Python 中将带小数的字符串的一部分转换为 Int

问题描述

我在python中有一个完整的字符串。我想分离出带小数的数字的一部分并转换为整数。我已经搜索并尝试了很多东西,包括数组但没有骰子。

#msg.payload is a string of 1:3.45
s = msg.payload
print(msg.payload)

if (s[0] == "1"):
    print("Distance from Anchor 1 received")
    d1 = arr.array((s[2], ".", s[4], s[5]))
    d1converted = int(d1)
    print(d1)

我想将 '3.45' 从字符串 '1:3.45' 中分离出来,然后将 '3.45' 转换为 int。我知道一旦你有 '3.45' 作为一个字符串,你可以简单地做 int(3.45) 来转换它。但是,我正在努力将字符串的那部分与第一部分中的小数隔离开来。任何帮助是极大的赞赏!

标签: pythonstringtype-conversionint

解决方案


如果您给出的字符串是 '1:3.45' 那么您可以使用 python 的本机 .split() 方法在分号处拆分字符串,如下所示...

string = "1:3.45"
split_string = string.split(":")  # split_string is ["1", "3.45"]
num = split_string[1]

然后就像你说的那样,你可以制作一个 intint(float(num))来四舍五入,或者round(float(num))如果你想要四舍五入并且后面的字符串是“1:3.55”


推荐阅读