python编写一个程序,输入一个浮点数,输出该浮点数的整数部分和小数部分
时间: 2025-04-19 18:37:35 浏览: 28
### 使用 Python 分离浮点数的整数部分和小数部分
在 Python 中可以利用内置函数 `divmod` 或者简单的算术操作来实现这一功能。下面提供了一种基于减法的方式以及另一种更通用的方法,即通过 `math.modf()` 函数[^2]。
#### 方法一:手动计算
这种方法适用于正负浮点数,并且能够返回绝对意义上的整数部分与小数部分:
```python
def split_float_manual(number):
integer_part = int(abs(number)) # 获取整数部分并保持原符号
fractional_part = abs(number) - integer_part # 计算小数部分
if number < 0:
return (-integer_part, -fractional_part)
else:
return (integer_part, fractional_part)
# 示例调用
result = split_float_manual(-12.5)
print(f"Integer part: {result[0]}, Fractional part: {result[1]}")
```
#### 方法二:使用 math 模块中的 modf()
此方法更为简洁明了,推荐用于实际开发环境中:
```python
import math
def split_float_modf(number):
frac, whole = math.modf(number) # 返回一个小数部分和一个整数部分组成的元组
return round(whole), abs(frac) # 对于某些情况下的精度丢失做处理
# 示例调用
number = 12.5
int_part, deci_part = split_float_modf(number)
print(f"For the float {number}, Integer Part is {int_part} and Decimal Part is {deci_part:.2f}")
```
上述两种方式都可以有效地将任意给定的浮点数值分解为其构成成分——整数部分和小数部分[^3]。
阅读全文
相关推荐


















