Wie konvertiert man von Float zu BigDecimal in Java?Wie konvertiert man von Float nach BigDecimal in Java?
Antwort
new BigDecimal(myfloat)
Verwenden Sie den float
Konstruktor:
float f = 10.0f;
BigDecimal b = new BigDecimal(f);
Es gibt keinen Gleitkomma-Konstruktor, dies wird automatisch in einen Doppelpunkt umgewandelt, und der Doppelkonstruktor ist nicht sicher – Alex
BigDecimal value = new BigDecimal(Float.toString(123.4f));
Vom javadocs, der Zeichenfolgenkonstruktor im Allgemeinen die bevorzugte Art und Weise ist ein float
in eine BigDecimal zu konvertieren, da sie nicht von der nicht leiden Unvorhersagbarkeit des BigDecimal(double)
Konstruktors.
Zitat aus der Dokumentation:
Hinweis: Für andere Werte float und double NaN und ± Unendlichkeit, dieser Konstruktor ist kompatibel mit den von Float.toString zurückgegebenen Werte (float) und Double.toString (Doppel). Dies ist im Allgemeinen der bevorzugte Weg, um ein float oder double in ein BigDecimal zu konvertieren, da es nicht unter der Unvorhersehbarkeit des BigDecimal (double) -Konstruktors leidet.
Aber die Umwandlung eines 'float' in einen String hilft Ihnen nicht, die Unvorhersehbarkeit automatisch zu lösen Achten Sie darauf, den Wert korrekt zu formatieren (Rundung e tc.). – Jesper
Für eine Genauigkeit von 3 Stellen nach dem Komma:
BigDecimal value = new BigDecimal(f,
new MathContext(3, RoundingMode.HALF_EVEN));
float f = 45.6f;
BigDecimal bd = BigDecimal.valueOf(f);
Zitat von Dokumentationen:
Hinweis: Dies ist im Allgemeinen der bevorzugte Weg, um ein Doppeltes zu konvertieren (oder float) in ein BigDecimal, da der zurückgegebene Wert gleich ist, was aus dem Konstruieren resultiert ein BigDecimal aus dem Ergebnis der Verwendung von Double.toString (double).
Referenz: BigDecimal (Java Platform SE 6)
'Double.toString (float)' erzeugt ein anderes Ergebnis als 'Float.toString (float)'. –
Dies ist bis zu meinem Wissen:
public static BigDecimal floatToBigDecimal(Float a){
if(a == null || a.isInfinite() || a.isNaN()){
return BigDecimal.ZERO;
}
try{
return BigDecimal.valueOf(a);
}catch(Exception e){
return BigDecimal.ZERO;
}
}
* Hinweis: Dies ist im Allgemeinen die bevorzugte Art und Weise eines doppelten (oder float) in eine BigDecimal zu konvertieren, wie Der zurückgegebene Wert entspricht dem Wert, der sich aus der Konstruktion von BigDecimal aus dem Ergebnis der Verwendung von Double.toString (double) ergibt.
public static BigDecimal valueOf (double val)
Parameter:
val - doppelt auf eine BigDecimal zu konvertieren.
Gibt zurück:
ein BigDecimal, dessen Wert gleich oder ungefähr gleich dem Wert von val ist.
Würfe:
Number - wenn val unendlich oder NaN ist.
seit:
1,5
ich überprüft haben, ob Stufenlose oder keine Zahl, so dass es weniger Chancen von Number
- 1. Wie konvertiert man BigInteger zu BigDecimal?
- 2. Wie konvertiert BigDecimal zu Double in Java?
- 3. Wie konvertiert man Double.POSITIVE_INFINITY in BigDecimal?
- 4. Wie konvertiert man Float-Arrays in Double-Arrays in Java?
- 5. Wie konvertiert man die hexadezimale Zeichenfolge in Float in Java?
- 6. Wie konvertiert man Touch-Koordinaten von Float in int?
- 7. Wie konvertiert man von UTC nach CEST Zeitzone in Java
- 8. java BigDecimal Subaktion fehlgeschlagen
- 9. Wie konvertiert man von fraktionsformatierter Zeichenkette in Dezimal oder Float in Java?
- 10. Wie konvertiert man UTF-8 nach US-Ascii in Java
- 11. Wie konvertiert man Float-Wert in Ganzzahl in PHP?
- 12. Wie konvertiert man einen Bruchteil in float in Ruby
- 13. Wie konvertiert man von einem Float zu 4 Bytes in Java?
- 14. Wie konvertiert man eine Zeichenfolge in einen Float
- 15. BigDecimal in Java
- 16. Wie konvertiert man byte [] nach InputStream?
- 17. Wie konvertiert man von int nach char *?
- 18. Java BigDecimal Speicherverbrauch?
- 19. Wie konvertiert man 4 Bytes in einen Swift Float?
- 20. Wie konvertiert man einen Int in einen Float?
- 21. Wie man ein BigDecimal mit einer Ganzzahl in Java multipliziert
- 22. Java: Wie konvertiert man java.lang.String nach ISO 8859-1 Format
- 23. java: wie man eine Datei nach utf8 konvertiert
- 24. Wie konvertiert man Java String in byte []?
- 25. Wie konvertiert man char [] in Java?
- 26. Java - Wie konvertiert man Typensammlung in ArrayList?
- 27. Wie konvertiert man Java-Code in mapreduce?
- 28. Java: Soll ich Float oder Float verwenden?
- 29. Java BigDecimal Ausgabe
- 30. Python konvertiert Float falsch
Es gibt keinen Schwimmer Konstruktor, diese automatisch zu einem Doppel werfen, und der Doppelkonstruktor ist nicht sicher – Alex