如题 python新手发问
学了python一阵子之后
知道浮点数相减会有误差
例如
0.9-0.8
结果是0.099999999999998
后来改良了一下
(0.9*10-0.8*10)/10
才是0.1
可是每次要这样做很麻烦
于是有decimal模组
可是遇到复数又没辙了
例如
0.9j-0.8j
也不会出现0.1j
就算用from decimal import Decimal as dc
complex(0,dc('0.9'))-complex(0,dc('0.8'))
也一样不会出现0.1j
只能用complex(0,dc('0.9')-dc('0.8'))
后来只好自己手刻一个类别继承complex
而且想到complex无法做有理数的运算
于是结合decimal fraction complex三种概念
做一个简单的类别
但是有个问题是要如何使得运算结果是超越数时能保留表达式而不要用浮点数呈现呢?
我的code如下
https://repl.it/JKUH/35