Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Radom


Фарик ©   (2006-02-27 13:04:00) 

Приветствую!
как сделать чтобы можно было генерировать только 13 значные числа?
делаю

 i:=random(9999999999999);
 edit1.Text:=IntToStr(i);

но на практике сгенерироваться может и 5 значное


dabreezy   (2006-03-01 10:00:00) [1]

Самое простое решение проблеммы :)

function TForm1.Rand13: int64;
var
 str: string;
 i: byte;
begin
 str:=inttostr(random(8)+1);
 for i:=1 to 12 do
   str:=str+inttostr(random(10));
 result:=strtoint64(str);
end;


DesWind   (2006-02-27 13:37:00) [2]

Сглупил число ведь может быть 0.002345334556746


DesWind   (2006-02-27 13:33:00) [3]

А почему бы просто не умножать?

Random*10000000000000


MBo   (2006-02-27 13:26:00) [4]

14-значные числа. Для 13-значных сам доработай
RandInt64 := 10000000000000 + Int64(1000000) * Random(90000000) +  Random(1000000);


Desdechado   (2006-02-27 13:20:00) [5]

лучше нормировать полученное в диапазоне [0,1] на диапазон [1000000000000,9999999999999]
надеюсь, пропорции помнишь?


Virgo_Style   (2006-02-27 13:15:00) [6]

13 раз сгенерировать однозначное


Наверх

Титульная страница Поиск, карта сайта Написать письмо