(Decimal('90.203907'), Decimal('60.252931')) 划分出数字
时间: 2023-08-20 14:50:07 浏览: 94
如果你想要从`(Decimal('90.203907'), Decimal('60.252931'))`这个字符串中提取出数字,可以使用正则表达式来匹配并提取。
以下是一个示例代码:
```python
import re
text = "(Decimal('90.203907'), Decimal('60.252931'))"
numbers = re.findall(r"\d+\.\d+", text)
print(numbers)
```
输出结果为:
```
['90.203907', '60.252931']
```
在这个例子中,使用了正则表达式`"\d+\.\d+"`来匹配文本中的数字。`\d+`表示匹配一个或多个数字,`\.`表示匹配小数点,`\d+`再次表示匹配一个或多个数字。`re.findall()`函数用于在文本中查找所有匹配的模式,并返回一个列表。
相关问题
python decimal.Decimal
`decimal.Decimal` 是 Python 中用于高精度十进制计算的模块。它提供了对浮点数运算的精确控制,避免了浮点数舍入误差带来的问题。
要使用 `decimal.Decimal`,首先需要导入 `decimal` 模块:
```python
import decimal
```
然后,可以通过传递字符串或数字给 `decimal.Decimal` 来创建一个十进制对象。例如:
```python
num1 = decimal.Decimal('3.14')
num2 = decimal.Decimal(10)
```
可以对这些十进制对象进行常规的算术运算,例如加法、减法、乘法和除法:
```python
result = num1 + num2
print(result) # 输出:13.14
```
`decimal.Decimal` 还提供了其他功能,比如对小数位数进行控制、舍入操作等。你可以参考 Python 官方文档来查看更多关于 `decimal` 模块的详细信息。
no exact representable decimal result.
这个错误通常是由于在进行除法运算时,结果是一个无限循环的小数,而 BigDecimal 类无法准确表示这种小数。这种情况通常发生在除数不能整除被除数的情况下。例如,1/3 的结果是 0.3333...,这是一个无限循环的小数,BigDecimal 无法准确表示这个结果,因此会抛出这个异常。
解决这个问题的方法是使用 BigDecimal 的 divide 方法,并指定一个精度和舍入模式。例如,可以使用以下代码:
```
BigDecimal result = dividend.divide(divisor, scale, RoundingMode.HALF_UP);
```
其中,dividend 是被除数,divisor 是除数,scale 是精度,RoundingMode.HALF_UP 是舍入模式。这个方法将返回一个 BigDecimal 对象,表示精确的除法结果。