【问题标题】:Dividing and multiplying Decimal objects in PythonPython中Decimal对象的除法和乘法
【发布时间】: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