python - 如何生成一个随机数到2dp
问题描述
我正在尝试研究一个随机数生成器,它产生一个随机数,无论是否需要,它都是 2dp。例如。2.10 是 2.10 不是 2.1,3 = 3.00
import random
temp_var_4_int = random.randint(2,5) + round(random.random(),2)
print (temp_var_4_int)
它应该随机化一个 2 到 5 之间的数字,然后添加一个小数点,四舍五入到小数点后 2 位,但我不断得到答案,例如:
1.2700000000000002 而不是 1.27
我不知道为什么它会向我抛出这个异常。
解决方案
假设你想要你的数字,[0, 10]
你可以这样做:
from random import uniform
r = round(uniform(0, 10), 2)
print(f"{r:3.2f}")
如果r = 2.1
格式字符串将其表示为"2.10"
;但出于所有数学目的,尾随零无效。
推荐阅读
- node.js - 在 sequelize 中定义触发器 - NodeJS
- r - R Shiny 模块中的 updateSelectInput 不会将现有输入传递给“选定”参数
- go - 如何解析表单帖子中的数组
- python-3.x - 对自己使用 getattr()
- java - 关于在 totoloto 数组中验证相同数字的疑问
- ruby - tmuxinator 生成的 bash 脚本被应该在 stderr 上的 ruby 错误消息破坏?
- postgresql - 如何查找已使用或消耗的 AWS RDS Postgresql 存储空间
- javascript - GSheets - 在两个值(固定数字)之间生成一个随机数字列表(固定数量),加起来等于声明的总和
- python-3.x - 数据未显示在 MatPlot 直方图中
- json - 如何使用 AJAX 从 JSON 获取这些数据?