ホームページ >Java >&#&チュートリアル >Javaでfloatをlongまたはintに変換するにはどうすればよいですか? (コード付き)
この記事の内容は、Java で float を long または int に変換する方法についてです。 (コードを添付します) ある程度参考になるので、困っている友達は参考にしていただければ幸いです。
Java では、float を long または int に変換する方法が 3 つありますが、ここでは、long データ型の部分にのみ焦点を当てます。
float データ型を long 値に変換する最初の方法は、オートボックス float プリミティブを float オブジェクトに変換し、longValue() メソッドを呼び出すことです。
他のメソッドは単に float を long または int に変換して小数点を削除するだけであるため、これはより構造化されたアプローチです。
次のヒントに従って Java プログラムを作成し、long メソッドを対応する int メソッドに置き換えて float を int に変換することもできます。
あるいは、Math.round() を使用してから、long データ型に変換し直すこともできます。
小数点以下の数字を削除するだけの場合は 2 番目の方法が最も簡単ですが、四捨五入する必要がある場合は、float データ型を long に変換する 3 番目の方法が最適です。
この記事では、Java で float から Long への変換を実行する 3 つの方法を学習します。
Java で float を long に変換する 3 つの方法
オプション 1-キャスト
Java は、A データ型を変換する型変換をサポートしています。は別のデータ型に変換されますが、より高い値のみをより低い値に変換できます。 float は long よりも範囲が長いため、次のように型キャストを使用して long に変換できます。
float number = 444.33f; long aValue = (long) number; // 444
これは小数点以下の値を破棄するだけなので、次のようになります。 fromFloat 変数の値 3 を取得します。
float を int に変換したい場合は、long ではなく float を integer に変換する必要があります。これが最も単純な変換方法です。
解決策 2 - Float.longValue
float を long に変換するもう 1 つの方法は、最初に float 値を Float ラッパー オブジェクトに自動ロードしてから、Float.longValue() メソッドを呼び出すことです。上の画像と以下のコードに示すように、このメソッドは内部で浮動小数点値を long 型に変換します。
public long longValue(){ return(long)value; }
このメソッドを使用して変換する方法は次のとおりです。
Float PIE = 3.14f; long fromFloat = PIE.longValue();
Float オブジェクトとこのメソッドは、Float プリミティブ値ではない場合に適しています。
解決策 3 - Math.round と Casting
変換は、小数点以下をすべて破棄するほど単純ではない場合があります。変換前に丸めが必要になる場合があります。この場合、Math.round() メソッドを使用して最初に丸めを実行し、次に型変換を実行して double を long に変換することができます。Math.round() メソッドは double 値を返します。この変換を実現するサンプル コードは次のとおりです:
// 使用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
丸めの効果がわかります。最初の例では、float が切り捨てられているため、変換された Long 値は 333 になります。たとえば、丸められているため、long 値は 334 になります。 float を Long に変換します。それらがどのように機能するかを確認し、float から int、short、byte へ、または double から long、int、short、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
これは、Java で float を long データ型に変換する方法です。 10 進数値を削除するだけの場合は、型変換が最も簡単な方法です。これは Java で数値を丸める唯一の方法ではありませんが、ほとんどの目的で機能します。 より早く、より体系的に学びたい場合は、グループ チャットに参加してください。このグループ チャットには、Alibaba、Baidu の面接での質問、Java エンジニアリング、ハイパフォーマンスとディストリビューション、マイクロサービス、パフォーマンス チューニング Spring、MyBatis、Netty の説明などが含まれます。ソース コード分析およびその他のナレッジ ポイント [Java Architect Resource Sharing Group] (グループ番号 142019080) のリンクを直接クリックしてグループに参加します。 https://jq.qq.com/?_wv=1027&k=5lXBNZ7
以上がJavaでfloatをlongまたはintに変換するにはどうすればよいですか? (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。