Random Klasse mit neg. und pos. doubles
-
Ich will zufällige double-Werte schreiben, die in einem Intervall ]-;+[ liegen.
Integer Erzeugung
Random^ randObj = gcnew Random(irgendein startwert); int value = randObj->Next(minValue, maxValue);
Bei doubles hab ich versucht:
int GenIntRandoms(int minValue, int maxValue ) { return randObj->Next(minValue, maxValue); } double dValue = Convert::ToDouble(GenIntRandoms((int)minValue, (int)maxValue)) + randObj->NextDouble();
Im Nachkommbereich ist das nur suboptimal. Jemand Ne bessere Lösung ?
-
uU hilft dir das: http://www.codeproject.com/useritems/Random.asp
-
Warum verwendest du nicht Random.NextDouble?
Musst halt mit Korrekturfaktoren arbeiten.
Sagen wir mal du willst Werte von -20.0 bis 20.0, dann nimmst einfach sowas wie:double dValue = ((40.0*randObj.NextDouble())-20.0)
Bei Grenzen von -5.0 bis 10.0 wäre es dann
double dValue = ((15.0*randObj.NextDouble())-5.0)
-
Danke. Beide Hints haben geholfen.