首页 > 解决方案 > 如何从 Decimal 类型的 Python 变量中获取前小数位和小数位?

问题描述

假设我有一个变量var = Decimal('3.5685')。如何从中获取小数点前 ( 3) 和小数位 ( 5685)?

标签: pythonfloating-point

解决方案


int(var)会给你整数部分(作为整数);从as_tuple你可以得到小数部分(作为一个元组):

from decimal import Decimal

var = Decimal('3.5685')
print(int(var))  # 3 

tpl = var.as_tuple()  # DecimalTuple(sign=0, digits=(3, 5, 6, 8, 5), exponent=-4)
print(tpl.digits[tpl.exponent:])  # (5, 6, 8, 5)

您可能需要以您喜欢的形式携带元组。


推荐阅读