Как вы генерируете случайный дубль между этими точками? - PullRequest
2 голосов
/ 29 октября 2010
37.807614 to 37.786996 

Произведенный случайным образом дубль должен иметь ту же точность (количество цифр), что и выше.

Например, 37.792242 было бы хорошо, тогда как 37.7823423425 было бы плохо.

Ответы [ 2 ]

4 голосов
/ 29 октября 2010
round(random.uniform(num1, num2), 6)

Время от времени вы будете получать числа, которые заканчиваются на ...0001 или ...9999 или около того из-за неточностей IEEE 754.

0 голосов
/ 29 октября 2010

Не уверен, что я что-то упускаю, но чтобы избежать округления, и поскольку вам нужна именно эта точность, разве не проще всего работать с целыми числами, а затем преобразовывать их в числа с плавающей точкой по делению?Т.е.

offset = float (random.randint (0,20618)) num = (offset + 37786996.0) / 1000000.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...