it-swarm.com.de

Generieren Sie in Javascript eine Zufallszahl zwischen 2 Werten und 2 Dezimalstellen

Ich möchte eine Zufallszahl zwischen 1 und 10 bis zu 2 Dezimalstellen generieren.

Ich verwende das unten, um meine Zahlen zu generieren.

var randomnum = Math.floor(Math.random() * (10.00 - 1.00 + 1.00)) + 1.00;

Letztendlich würde ich gerne wissen, wie man Zahlen generiert wie:

1,66

5,86

8,34

Im Format: var randomnum = dann der Code

randbemerkung: Ich kann mich nicht erinnern, warum ich meine Zahlen zuvor so generiert hatte, aber erinnere mich an etwas über Math.random , das Zahlen mit 8 Dezimalstellen generiert.

Danke für die Hilfe! :)

Ps: Ich habe viele Posts über das Warten gesehen, um generierte Zahlen abzurunden oder aufzuwerten, und ich habe noch keinen gefunden, der sie direkt generieren wollte.

UPDATE: Ich möchte einen Zahlenwert und keine Zeichenfolge, die wie eine Zahl aussieht

5
T.script

Sie waren sehr nah dran, was Sie brauchen, ist nicht mit Dezimalzahlen als Min und Max zu arbeiten. Wir haben max = 1000 und min = 100, so dass Sie nach Ihrer Math.floor durch 100 teilen müssen:

var randomnum = Math.floor(Math.random() * (1000 - 100) + 100) / 100;

Oder wenn Sie mit Dezimalzahlen arbeiten möchten:

var precision = 100; // 2 decimals
var randomnum = Math.floor(Math.random() * (10 * precision - 1 * precision) + 1 * precision) / (1*precision);
5
Observer

Multiplizieren Sie die ursprüngliche Zufallszahl mit 10^decimalPlaces und legen Sie sie durch 10^decimalPlaces auseinander. Zum Beispiel:

floor(8.885729840652472 * 100) / 100 == 8.88

function genRand(min, max, decimalPlaces) {  
    var Rand = Math.random()*(max-min) + min;
    var power = Math.pow(10, decimalPlaces);
    return Math.floor(Rand*power) / power;
}

for (var i=0; i<20; i++) {
  document.write(genRand(0, 10, 2) + "<br>");
}

3
clabe45

Sie können den folgenden Code verwenden.

var randomnum = (Math.random() * (10.00 - 1.00 + 1.00) + 1.00).toFixed(2);
2
vinay k hegde

Ein weiterer Weg mit TypeScript/angle Beispiel:

getRandom(min: number, max: number) {
  return Math.random() * (max - min) + min;
}

console.log('inserting min and max values: ', this.getRandom(-10.0, -10.9).toPrecision(4));

zufällige Werte zwischen -10,0 und -10,9 erhalten

0
Diego Venâncio