Auch "NaN" .to_f gibt 0 statt NaN zurück.Wie deklariere ich NaN (keine Zahl) in Ruby?
37
A
Antwort
2
0.0/0.0
funktioniert für mich auf Ruby 1.8.6.
Der Faden verbunden durch Pesto hat diese Funktion, die auf Plattformen arbeiten sollte wo Gleitkommazahlen IEEE implementiert nach 754:
def aNaN
s, e, m = rand(2), 2047, rand(2**52-1)+1
[sprintf("%1b%011b%052b", s,e,m)].pack("B*").unpack("G").first
end
17
Der einfachste Weg 0.0/0.0
zu verwenden ist. "NaN" .to_f funktioniert nicht, und es gibt eine Diskussion in this thread über warum.
+4
'0/0.0' funktioniert auch .. (PS. DAS IST INSANE!) –
30
Wenn Sie testen müssen, ob eine Zahl NaN ist, können Sie #nan?
auf sie aus:
ruby-1.8.7-p352 :008 > (0/0.0).nan? #=> true
ruby-1.8.7-p352 :009 > (0/1.0).nan? #=> false
45
0
zu erhalten Das Zuweisen einer Variablen in Rails kann so erfolgen (nützlich für Komponententests):
o.amount = BigDecimal.new('NaN')
expect(o.valid?).to be false
Verwandte Themen
- 1. Wie deklariere ich ein Array in Python
- 2. Wie deklariere ich eine Variable in MySQL?
- 3. Wie deklariere ich typedef in Swift
- 4. Wie deklariere ich MAX_DOUBLE in VB6?
- 5. Wie deklariere ich einen Vektor in OpenCV?
- 6. mit NaN Ersetzen Keine in Pandas
- 7. Nan durch eine Zahl in einem Zellenfeld mit Matlab
- 8. Lange fixe Zahl in Array umwandeln Ruby
- 9. PL/SQL: Wie deklariere ich Sitzungsvariablen?
- 10. Wie deklariere ich Gerätefunktionen für diese App?
- 11. Wie konvertiere ich NaN in eine 0?
- 12. Wie ignoriere ich NaN in der Farbleiste?
- 13. Mehrzeilige Zeichenfolge mit Argumenten. Wie deklariere ich?
- 14. webgl - wie deklariere ich eine float-Variable
- 15. Wie deklariere ich ein Listenelement als REGEX
- 16. Wie deklariere ich einen Zeiger (Byte ^)?
- 17. Wie deklariere ich Json-Objekt für Datentabelle
- 18. Wie deklariere ich meine eigene CGRectZero-Konstante?
- 19. Wie deklariere ich eine verschachtelte Enumeration?
- 20. Wie deklariere ich mehrere veränderbare Variablen gleichzeitig?
- 21. Wie deklariere ich eine 2D-String-Arraylist?
- 22. Wie deklariere ich einen JSON-String richtig?
- 23. R: Wie deklariere ich ein Listenobjekt mit M Elementen
- 24. Wie konvertiert man die lesbare Zahl in Ruby in die tatsächliche Zahl?
- 25. Wie man die Zahl in Ruby kappt und rundet
- 26. Wie extrahiert man das Vorzeichen einer ganzen Zahl in Ruby?
- 27. Überprüfen, ob eine Zahl + -Inf oder NaN ist
- 28. Wie deklariere ich die OpenGL-Version in Shadern auf Android?
- 29. Wie deklariere ich eine Basismodellklasse in Flask-SQLAlchemy?
- 30. Wie deklariere ich einen Vektor bestimmter Länge in einer Klasse?
das gibt ZeroDivisionE rror: dividiert durch 0 –
Welche Version von Ruby verwenden Sie? –
Hinweis: 0/0 gibt einen ZeroDivisionError, aber 0.0/0.0 nicht. – Kudu