ich diesen Wert BigDecimal.new("42.00")
Zufallswert für BigDecimal
SecureRandom.random_number(100)
generieren möchte Aber wie kann ich zufällige Menge wie diese „42.00“ erzeugen?
ich diesen Wert BigDecimal.new("42.00")
Zufallswert für BigDecimal
SecureRandom.random_number(100)
generieren möchte Aber wie kann ich zufällige Menge wie diese „42.00“ erzeugen?
BigDecimal#new
akzeptiert als auch numerische Werte:
a = BigDecimal.new(SecureRandom.random_number(100))
#=> #<BigDecimal:7f88dace71f0,'0.42E2',9(27)>
a.to_f
#=> 42.0
Btw, was der Punkt der Doppel SecureRandom.random_number
ist? :)
Um die Reihe von gewünschten Format zu erzeugen:
sprintf("%0.02f", a)
#=> "42.00"
sprintf("%0.05f", a)
#=> "42.00000"
Ich möchte jede beliebige Zufallszahl generieren. Gibt es einen besseren Weg? –
@PeterPenzov Ich habe gezeigt, wie man zufällige 'BigDecimal' -Instanzen generiert. Keine Notwendigkeit für doppelte 'SecureRandom.random_number' –
Ja, mein Fehler. Aber wie kann ich mit .00 Nummer erzeugen? –
Warum denken Sie, dass 'BigDecimal' Sie geben dieses Format? Weil es für Geldwerte empfohlen wird? – Stefan