python保留n位小数,除了round函数
时间: 2024-09-17 15:05:19 浏览: 35
python中round函数保留两位小数的方法
5星 · 资源好评率100%
在Python中,如果你需要保留n位小数但不想使用`round()`函数,你可以利用字符串格式化或者`decimal`模块。以下是两种方法:
1. **使用字符串格式化**:
```python
def format_number(num, decimal_places):
return "{:.{}f}".format(num, decimal_places)
num = 3.1415926
n = 2
formatted_num = format_number(num, n)
print(formatted_num) # 输出:3.14
```
2. **使用decimal模块**:
```python
import decimal
def round_to_places(num, places):
decimal.getcontext().prec = places + 1 # 设置精度
return round(decimal.Decimal(str(num)), -places)
num = 3.14159265359
n = 2
rounded_num = round_to_places(num, n)
print(rounded_num) # 输出:3.14
```
阅读全文