如何生成一个随机数到2dp
How to generate a random number to 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 之间的数字,然后向其添加一个四舍五入到小数点后两位的小数,但我不断得到如下答案:
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"
;但出于所有数学目的,尾随零无效。
import random
print("Printing random float number with two decimal places is ",
round(random.random(), 2))
print("Random float number between 2.5 and 22.5 with two decimal places is ",
round(random.uniform(2.5,22.5), 2))
尝试使用字符串格式:
from random import randint, random
temp_var_4_int = round(randint(2,5) + random(), 2)
print(temp_var_4_int)
print(f"{temp_var_4_int:.2f}")
这将输出如下内容:
2.1
2.10
请注意 f-strings 适用于 Python 3.6+
您可以使用两位数格式化浮点数,例如:
import random
temp_var_4_int = random.randint(2,5) + round(random.random(),2)
temp_var_4_int = '%.2f' % (temp_var_4_int)
print(temp_var_4_int)
据此Q&A
(0.1+.02)
将return
0.12000000000000001
和
'%.2f' % (0.1+.02)
将return
'0.12'
请尝试一下,让我知道,是同一问题的另一个例子
我正在尝试使用一个随机数生成器来生成一个随机数,该随机数为 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 之间的数字,然后向其添加一个四舍五入到小数点后两位的小数,但我不断得到如下答案:
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"
;但出于所有数学目的,尾随零无效。
import random
print("Printing random float number with two decimal places is ",
round(random.random(), 2))
print("Random float number between 2.5 and 22.5 with two decimal places is ",
round(random.uniform(2.5,22.5), 2))
尝试使用字符串格式:
from random import randint, random
temp_var_4_int = round(randint(2,5) + random(), 2)
print(temp_var_4_int)
print(f"{temp_var_4_int:.2f}")
这将输出如下内容:
2.1
2.10
请注意 f-strings 适用于 Python 3.6+
您可以使用两位数格式化浮点数,例如:
import random
temp_var_4_int = random.randint(2,5) + round(random.random(),2)
temp_var_4_int = '%.2f' % (temp_var_4_int)
print(temp_var_4_int)
据此Q&A
(0.1+.02)
将return
0.12000000000000001
和
'%.2f' % (0.1+.02)
将return
'0.12'
请尝试一下,让我知道,是同一问题的另一个例子