我花了最后2个小时试图找到一个解决方案,并没有任何结果。所以要么这是不可能的,要么是如此基本,以至于没有人会写这个。基本上我有2个字符串双方人数相等,但是当我去把它们加起来,我得到一个连击,而不是一些。这里是我的代码(Python)的如何将str转换为int并将它们加在一起?
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发现我在那里加一个逗号。保持逗号并将数字加在一起的最好方法是什么?
我早些时候评论过,并说它没有工作,但我想我错过了一些东西,因为它现在有效:S。你是对的..所以如果我想保留逗号,我该怎么办? – user1159817
只需在解析整数之前将其删除(编程),你就会好起来的。除非你想搞乱'locale'模块。 –