我正在从CSV中随机加载到类中。我需要系统将其中一个值视为数字,而不是用于计算的字符串。这适用于整数。
class Weapon:
def __init__ (self, name, value, damage, weight, properties, catagory, description):
self.name = name
self.value = int(value)
self.damage = damage
self.weight = weight
self.properties = properties
self.catagory = catagory
self.description = description
我有一个问题,如果我尝试在分数上使用int(例如0.05),我会收到以下错误:
self.value = int(value)
ValueError: invalid literal for int() with base 10: '0.05'
我可以使用什么代替Int,或者使用int来使其工作?
答案 0 :(得分:4)
使用int(float(value))
首先将字符串解析为float
,然后转换为int
。
但当然,0.05
将缩减为0
。如果这不合适,请使用float(value)
。
答案 1 :(得分:1)
使用
from decimal import Decimal
int(Decimal(value))
不要使用花车,花车很难看。