如何将str转换为int并将它们相加?

2024-10-01 11:24:34 发布

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

我花了两个小时试图找到解决办法,但什么也没找到。所以,要么这是不可能的,要么它是如此的基本以至于没有人写这篇文章。基本上我有两个字符串,两个数字相等,但当我把它们加在一起时,我得到的是一个串联而不是一个数字。。这是我的代码(Python)

currentNukeScriptName = nuke.root().name()
splitUpScriptName1 = currentNukeScriptName.split('/')
splitUpScriptName2 = splitUpScriptName1[-1]
splitScriptNameAndExtention = splitUpScriptName2.split('.')
currentNukeScriptName = splitScriptNameAndExtention[0]
splitUpCurrentScriptName = currentNukeScriptName.split('_')
currentVersionNumber = splitUpCurrentScriptName[-1]
decimalVersionNumber =  "1" + "," + str(currentVersionNumber)
addingNumber = 1
newVersionNumber = str(decimalVersionNumber) + str(addingNumber)

print newVersionNumber

decimaleVersionNumber = 1,019

如果我也更改新版本号代码:

^{pr2}$

我得到:

# Result: Traceback (most recent call last):
File "<string>", line 10, in <module>
ValueError: invalid literal for int() with base 10: '1,019'

我不知道该怎么办。。这不可能吗?还是我做错了什么?在

编辑:

所以问题是在我加逗号的小数版本号中发现的。保持逗号和数字相加的最佳方法是什么?在


Tags: 代码版本号数字split逗号strcurrentversionnumberdecimalversionnumber
2条回答

你需要使用

int.Parse(decimalVersionNumber) + int.Parse(addingNumber)

这将把数字的字符串表示形式解析为整数,以便将它们相加。在

例如:

字符串连接:

“10”+“20”=“1020”

整数加法,从字符串解析:

在内部分析(“10”)+内部分析(“20”)=30

ValueError: invalid literal for int() with base 10: '1,019'

听起来不象逗号-请先删除它。在

相关问题 更多 >