random.uniform()怎么保留5位小数
时间: 2024-10-12 10:16:59 浏览: 25
Python random模块制作简易的四位数验证码
5星 · 资源好评率100%
`random.uniform()` 是 Python 的随机模块 `random` 中的一个函数,用于生成两个浮点数之间的均匀分布随机数。默认情况下,它返回的结果是一个有浮点精度的数值,并不一定总是精确到小数点后五位。如果你想要生成固定位数的小数,你需要自己处理。
你可以先生成一个小数,然后使用字符串格式化或 `round()` 函数来控制小数位数。例如:
```python
import random
# 获取0.00000~0.99999范围内的随机数
random_float = round(random.uniform(0, 1) * 1e5, 5)
print(random_float)
```
这里 `* 1e5` 是将范围扩大到小数点后五位,`round(number, ndigits)`则是四舍五入到指定的 `ndigits` 位数。
如果需要每次都保证五个固定的零,可以先生成一定范围的大数,再除以10的五次方:
```python
def uniform_with_five_digits():
random_number = random.uniform(0, pow(10, 6)) / 10**5
return round(random_number, 5)
print(uniform_with_five_digits())
```
阅读全文