Decimal 模块:用于精确十进制数操作。为什么使用 Decimal?精确度:不会出现浮点数舍入误差。可比性:精确比较,避免浮点数比较误差。可转换性:轻松转换为其他数值类型。如何创建 Decimal 对象?从字符串创建:decimal.Decimal(string)从数字创建:decimal.Decimal(number)Decimal 操作:算术操作:+, -, *, /, %比较操作:==, !=, , =属性和方法:sign:数字符号

Python 中的 Decimal 用法
Decimal 模块提供了对 Decimal 数据类型的支持,用于处理精确的十进制数,以克服浮点数在表示某些数字时面临的限制。
为什么使用 Decimal?
- 精确度:Decimal 类型可以精确地表示十进制数,不会出现浮点数的舍入误差。
- 可比性:Decimal 对象可以进行精确比较,而浮点数比较可能会产生错误。
- 可转换性:Decimal 可以轻松地转换为字符串、浮点数和其他数值类型。
使用 Decimal
立即学习“Python免费学习笔记(深入)”;
要使用 Decimal,请先导入 decimal 模块:
import decimal
创建 Decimal 对象
Decimal 对象可以使用以下两种方式创建:
-
从字符串创建:
decimal.Decimal(string) -
从整数或浮点数创建:
decimal.Decimal(number)
Decimal 操作
Decimal 对象支持各种算术和比较操作。
-
算术操作:
+,-,*,/,% -
比较操作:
==,!=,,>,,>=
属性和方法
Decimal 对象还提供了以下属性和方法:
-
sign:数字的符号(
1表示正数,-1表示负数) - scale:小数点后的数字位数
- adjusted():返回一个新对象,其中数字根据 scale 值调整
- compare():比较两个 Decimal 对象并返回 -1(小于)、0(等于)、1(大于)
示例
# 创建一个 Decimal 对象
decimal1 = decimal.Decimal('123.45')
# 执行算术操作
result = decimal1 + decimal.Decimal('56.78')
# 比较两个 Decimal 对象
comparison = decimal1 == decimal.Decimal('123.45')注意事项
- Decimal 对象在内存中占用更多空间,因此处理大量数字时效率可能较低。
- Decimal 运算可能比浮点运算慢。











