【发布时间】:2023-04-07 03:41:01
【问题描述】:
在下面的代码中,coeff1 和 coeff2 都是 Decimal 对象。当我使用类型(coeff1)检查它们的类型时,我得到(类'decimal.Decimal')但是当我制作测试代码并检查十进制对象时,我得到十进制。十进制,没有词类
coeff1 = system[i].normal_vector.coordinates[i]
coeff2 = system[m].normal_vector.coordinates[i]
x = coeff2/coeff1
print(type(x))
system.xrow_add_to_row(x,i,m)
另一个问题是当我将函数 xrow_add_to_row 的第一个输入更改为负 x 时:
system.xrow_add_to_row(-x,i,m)
我在高于已更改代码的行处收到无效操作错误:
<ipython-input-11-ce84b250bafa> in compute_triangular_form(self)
93 coeff1 = system[i].normal_vector.coordinates[i]
94 coeff2 = system[m].normal_vector.coordinates[i]
---> 95 x = coeff2/coeff1
96 print(type(coeff1))
97 system.xrow_add_to_row(-x,i,m)
InvalidOperation: [<class 'decimal.DivisionUndefined'>]
但是,在测试代码中,我再次对 Decimal 对象使用负数,它工作正常。知道问题可能是什么吗?谢谢。
【问题讨论】:
标签:
python
computer-science
floating-accuracy
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中Decimal对象的除法和乘法 - Python技术站