如何将str转换为int并将它们一起添加?

时间:2012-01-20 02:45:06

标签: python string int concatenation add

我花了最后2个小时试图为此找到解决方案并且没有提出任何建议。所以要么这是不可能的,要么它是如此基本,没有人写这个。基本上我有两个相同数字的字符串,但是当我将它们添加到一起时,我得到一个连接而不是一个数字..这是我的代码(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

如果我也改变了newVersionNumber代码:

newVersionNumber = int(decimalVersionNumber) + int(addingNumber)

我明白了:

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

我不确定该怎么做..这不可能吗?或者我做错了什么?

编辑:

所以问题是在我添加逗号的decimalVersionNumber中找到的。保留逗号并仍然将数字加在一起的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

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

听起来它不喜欢逗号 - 请先尝试删除它。

答案 1 :(得分:0)

您需要使用

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

这会将数字的字符串表示形式解析为整数,因此可以添加它们。

例如:

字符串连接:

“10”+“20”=“1020”

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

int.Parse(“10”)+ int.Parse(“20”)= 30