Issue
I am trying to work on a random number generator which produces a random number which is to 2dp regardless of whether it needs to be. eg. 2.10 is 2.10 not 2.1, 3 = 3.00
import random
temp_var_4_int = random.randint(2,5) + round(random.random(),2)
print (temp_var_4_int)
It should randomize a number between 2 and 5 and then add a decimal to it which is rounded to 2 decimal places but I keep getting answers such as:
1.2700000000000002 instead of 1.27
I'm not sure why it's throwing this anomaly at me.
Solution
assuming you want your numbers in [0, 10]
you could just do this:
from random import uniform
r = round(uniform(0, 10), 2)
print(f"{r:3.2f}")
if r = 2.1
the format string will represent it as "2.10"
; but for all mathematical purposes the trailing zero has no effect.
Answered By - hiro protagonist Answer Checked By - Pedro (PHPFixing Volunteer)
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.