Heim  >  Artikel  >  Java  >  Wie konvertiere ich float in long oder int in Java? (mit Code)

Wie konvertiere ich float in long oder int in Java? (mit Code)

不言
不言nach vorne
2019-03-07 16:00:3210785Durchsuche

Der Inhalt dieses Artikels befasst sich damit, wie man in Java float in long oder int umwandelt. (Beigefügt ist der Code), der einen gewissen Referenzwert hat. Freunde in Not können sich darauf beziehen. Ich hoffe, er wird Ihnen hilfreich sein.

In Java gibt es drei Möglichkeiten, float in long oder int zu konvertieren, wir konzentrieren uns jedoch nur auf den Teil des Datentyps long.

Die erste Möglichkeit, einen Float-Datentyp in einen Long-Wert zu konvertieren, besteht darin, das Auto-Box-Float-Grundelement in ein Float-Objekt zu konvertieren und die Methode longValue() aufzurufen.

Dies ist ein strukturierterer Ansatz, da die anderen Methoden einfach den Float in long oder int umwandeln, um den Dezimalpunkt zu entfernen.

Sie können auch ein Java-Programm gemäß den folgenden Tipps schreiben, um Float in Int zu konvertieren, indem Sie die Long-Methode durch die entsprechende Int-Methode ersetzen.

Alternativ können Sie Math.round() verwenden und es dann wieder in den langen Datentyp konvertieren.

Die zweite Methode ist die einfachste, wenn Sie nur die Zahlen nach dem Dezimalpunkt entfernen. Wenn Sie jedoch runden müssen, ist die dritte Methode die beste, um den Datentyp float in long umzuwandeln.

In diesem Artikel lernen Sie drei Möglichkeiten kennen, um in Java eine Float-zu-Long-Konvertierung durchzuführen.

3 Möglichkeiten, Float in Long in Java umzuwandeln

Option 1 – Casting

Java unterstützt die Typkonvertierung, also die Konvertierung eines A-Datentyps wird in einen anderen Datentyp konvertiert, es kann jedoch nur ein höherer Wert in einen niedrigeren Wert konvertiert werden. Da Float einen größeren Bereich als Long hat, können Sie es mit einer Typumwandlung wie folgt in Long umwandeln:

float number = 444.33f; 
long aValue = (long) number; // 444

Es wird nichts anderes tun, als den Wert nach dem Dezimalpunkt zu verwerfen, sodass er in ist Die fromFloat-Variable erhält einen Wert von 3.

Wenn Sie Float in Int konvertieren möchten, sollten Sie Float in Integer statt Long konvertieren. Dies ist die einfachste Konvertierungsmethode.

Lösung 2 – Float.longValue

Eine andere Möglichkeit, Float in Long umzuwandeln, besteht darin, zuerst den Float-Wert automatisch in ein Float-Wrapper-Objekt zu laden und dann die Methode Float.longValue() aufzurufen. Diese Methode konvertiert intern einen Gleitkommawert in einen Wert vom Typ long, wie im Bild oben und im Code unten gezeigt:

public long longValue(){
 return(long)value;
}

So konvertieren Sie mit dieser Methode:

Float PIE = 3.14f; 
long fromFloat = PIE.longValue();

Wenn Sie einen Float haben Objekt und Diese Methode ist besser geeignet, wenn es sich nicht um einen Float-Primitivwert handelt.

Lösung 3 – Math.round und Casting

Manchmal ist die Konvertierung nicht so einfach wie das Verwerfen der Nachkommastellen. Vor der Umrechnung kann eine Rundung erforderlich sein. Wenn dies der Fall ist, können Sie zuerst die Methode Math.round() verwenden, um eine Rundung durchzuführen, und dann eine Typkonvertierung durchführen, um den Double-Wert in einen Long-Wert umzuwandeln. Die Math.round()-Methode gibt einen Double-Wert zurück. Hier ist der Beispielcode, um diese Konvertierung zu erreichen:

// 使用Math.round()并强制转换为long
float points = 333.322f;
long rounded = Math.round(points); 
System.out.printf("float : %f, long : %d %n", points, rounded); 
points = 333.922f; 
rounded = Math.round(points); 
System.out.printf("float : %f, long : %d %n", points, rounded); 
Output : float : 333.321991, long : 333 float : 333.921997, long : 334

Sie können den Effekt der Rundung sehen. Im ersten Beispiel wird der Float abgerundet, weshalb der konvertierte Long-Wert 333 ist. Und im zweiten Beispiel: Es wird gerundet, deshalb ist der Long-Wert 334.

Java-Programm zum Konvertieren von Float in den Long-Datentyp

Was der Code unten macht Wie gezeigt, kombiniert er drei Methoden zum Konvertieren von Float in Long. Sie können sehen, wie sie funktionieren, und lernen, wie Sie eine andere ähnliche Konvertierungstechnik durchführen, z. B. Float in Int, Short oder Byte oder Double in Long, Int, Short und Byte.

/** 
* 用于在Java中将float转换为long
* 
* @author Javarevisited 
*/ 
public class FloatToLongConverter{ 

 public static void main(String[] args) { 

 // Autobox浮动到Float然后调用Float.longValue();
 Float PIE = 3.14f; 
 long fromFloat = PIE.longValue(); 

 System.out.printf("float value %f, long value %d %n", PIE, fromFloat); 
 
 // 简单的类型转换来消除小数 
 float number = 444.33f; 
 long aValue = (long) number; 
 System.out.printf("float value %f, after casting into long %d %n", number, aValue); 
 
 // 使用Math.round()并将其转换回long 
 float points = 333.322f; 
 long rounded = Math.round(points); 

 System.out.printf("float : %f, long : %d %n", points, rounded); 
 }
 }
Output : 
float value 3.140000, long value 3 
float value 444.329987, after casting into long 444 
float : 333.321991, long : 333

So konvertieren Sie Float in einen Long-Datentyp in Java. Wenn Sie nur Dezimalwerte entfernen, ist die Typkonvertierung die einfachste Möglichkeit. Dies ist nicht die einzige Möglichkeit, Zahlen in Java zu runden, funktioniert aber für die meisten Zwecke.

Wenn Sie schneller und systematischer lernen möchten, nehmen Sie am Gruppenchat teil, der Alibaba, Baidu-Interviewfragen, Java-Engineering, Hochleistung und -verteilung, Microservices, Leistungsoptimierung Spring, MyBatis und Wissenserklärung umfasst Punkte wie Netty-Quellcode-Analyse [Java Architect Resource Sharing Group] (Gruppennummer 142019080), klicken Sie direkt auf den Link, um der Gruppe beizutreten. https://jq.qq.com/?_wv=1027&k=5lXBNZ7

Das obige ist der detaillierte Inhalt vonWie konvertiere ich float in long oder int in Java? (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen