|
4
Волшебник
22.08.10
✎
00:00
|
В 8.0 для получения случайных чисел можно использовать встроенный генератор GUID. Вот пример простенькой функции: //только для целых чисел Функция ПолучитьСлучайноеЧисло(Мин,Макс) //вместо Randomize Для н = 1 По 100 Цикл Уник = Новый УникальныйИдентификатор; КонецЦикла; //генерируем GUID Уник = СокрЛП(Новый УникальныйИдентификатор); //оставляем только цифры Уник = СтрЗаменить(Уник,"-",""); Уник = СтрЗаменить(Уник,"a",""); Уник = СтрЗаменить(Уник,"b",""); Уник = СтрЗаменить(Уник,"c",""); Уник = СтрЗаменить(Уник,"d",""); Уник = СтрЗаменить(Уник,"e",""); Уник = СтрЗаменить(Уник,"f",""); //знаменатель должен иметь такое же количество нулей + 1 Знаменатель = 10; Для н = 2 По (СтрДлина(СтрЗаменить(Уник,Символы.НПП,""))) Цикл Знаменатель = Знаменатель * 10; КонецЦикла; Случ = Число(Уник) / Знаменатель; //здесь получается дробное случайное число от 0 до 1 //преобразуем его в случайное число из заданного интервала, округляем до целого ЧислоИзИнтервала = Мин(Макс(Окр(Мин + (Макс-Мин)*Случ),Мин),Макс); Возврат ЧислоИзИнтервала; КонецФункции
|
|