使用包decimal,给定两个浮点数num1和num2表示为字符串,返回一个浮点数,这是两个浮点数的高精度和和和差。
时间: 2024-06-12 09:08:08 浏览: 69
基于字符串的高精度浮点计算实现
示例:
输入:
num1 = "123.456"
num2 = "789.012"
输出:
"912.468"
"-665.556"
解释:
两个浮点数的高精度和是 912.468,高精度差是 -665.556。
代码实现如下:
```python
from decimal import Decimal
def calculate(num1: str, num2: str) -> str:
x = Decimal(num1)
y = Decimal(num2)
return str(x + y), str(x - y)
```
测试代码:
```python
print(calculate("123.456", "789.012")) # 输出:("912.468", "-665.556")
```
注意,使用Decimal类可以避免在计算浮点数时出现精度误差的问题。同时,由于Decimal对象的加减乘除运算符被重载,因此可以方便地进行高精度数学运算。
阅读全文