我有一个为变量赋值的函数,然后在列表中将此数字作为整数追加。分配的号码可能有也可能没有逗号。
for number in values:
list_of_values.append(int(number))
#do a few calculations for some of the numbers in the list
但这只会创建一个列表,其中每个数字都舍入为整数。如何将数字作为整数追加并保持其“真实”值,而不进行舍入?
编辑:
样本值: “0”,“2”,“1.5”,“0.5”,......
答案 0 :(得分:3)
如果您想表示real numbers(小数点后面带小数的数字,或者在逗号后面的某些区域设置中),则不应使用int()
来表示这些。
使用float()
或decimal.Decimal()
代替数字:
list_of_values.append(float(number))
int()
将数字表示为integer number,按照定义没有小数组件。如果您不想要舍入数字,请不要使用整数。
您选择float()
还是decimal.Decimal()
取决于您的精确度和性能需求。 float()
算术可以在CPU硬件中处理,但不太精确(使用二进制分数近似小数),decimal.Decimal()
保留精度,但算术速度较慢。
答案 1 :(得分:2)
整数数据类型无法保存浮点值! 因此,您可以使用float数据类型!
list_of_values.append(float(number))