給定一個 Double 實數。編寫一個Java程序,將給定的double數轉換為Java中的Long(長整型)。
例子:
Input: double = 2545.241 Output: 2545 Input: double = 21.54 Output: 21
雙精度數據類型:雙精度數據類型是雙精度 64 位 IEEE 754 浮點。其取值範圍是無限的。它通常用於十進製值。您從未使用雙精度數據類型來存儲精確值,例如貨幣。其默認值為 0.0d。
Example: double double1 = 111.5d
long類型:long 數據類型是 64 位二進製補碼整數。它表示一個無符號64位長,最小值為0,最大值為264-1。 long 類還包含對 unsigned long 進行算術運算的方法。這默認值為 0.
Example: long long1 = 111
方法:
有多種方法可以將雙精度數據轉換為long類型。下麵列出了其中一些:
- 使用類型轉換。
- 使用雙倍.longValue()方法。
- 使用數學.round()方法。
- 使用長.parseLong()隨著字符串方法。
方法 1 - 使用類型轉換
這是Java中將double數據類型轉換為long數據類型的最簡單方法。
用法:
double doubleVar = 3452.345 long longVar = (long)doubleVar;
例子:
Java
// Java program to convert double value to
// long using TypeCasting method
class GFG {
public static void main(String[] args)
{
double doubleValue = 4512.412;
System.out.println("Double Value: " + doubleValue);
// TypeCasting to convert double to long
long longValue = (long)doubleValue;
System.out.println("Long Value: " + longValue);
}
}
Double Value: 4512.412 Long Value: 4512
方法 2 - 使用 Double.longValue() 方法
這種方法與上麵的方法類似。這裏 Double 類包含一個 longValue() 方法,該方法從 double 值中刪除小數點後的所有數字。
用法:
double doubleValue = 4512.412; Double newDouble = new Double(doubleValue); long longValue = newDouble.longValue();
例子:
Java
// Java program to convert double value to
// long using Double.longValue() method
class GFG {
public static void main(String[] args)
{
double doubleValue = 4512.412;
System.out.println("Double Value: " + doubleValue);
// Create wrapper around the double value
Double newDouble = new Double(doubleValue);
// Convert double to long
long longValue = newDouble.longValue();
System.out.println("Long Value: " + longValue);
}
}
輸出:
Double Value: 4512.412 Long Value: 4512
方法 3 - 使用 Math.round() 方法
Math.round() 接受 double 值,並通過添加 0.5 並刪除小數點將其轉換為最接近的 long 值。
用法:
long Math.round(Double double1);
例子:
Java
// Java program to convert Double to long
// using Math.round()
public class GFG {
public static void main(String args[])
{
// Get the double value
double double1 = 99.4;
System.out.println("Double Value 1: " + double1);
// convert double into long
long long1 = (long)Math.round(double1);
// print the long value
System.out.println("Long Value 1: " + long1);
double double2 = 99.6;
System.out.println("Double Value 2: " + double2);
// convert double into long
long long2 = (long)Math.round(double2);
// print the long value
System.out.println("Long Value 2: " + long2);
}
}
Double Value 1: 99.4 Long Value 1: 99 Double Value 2: 99.6 Long Value 2: 100
Note: In the above example Math.round() function rounds the Double value to the nearest Long Value. For example 99.4 rounds to 99 while 99.6 rounds to 100.
方法 4 - 使用 Long.parseLong() 和字符串方法
我們可以使用 Long.parseLong() 方法將字符串解析為 long。因此,我們可以先將給定的 double 值轉換為字符串,然後檢查字符串中的小數。如果存在小數,則修剪字符串,保留字符串原樣,然後將字符串轉換為 Long 值。
用法:
long longValue = Long.parseLong(string);
例子:
Java
// Java program to convert double value to
// long using Long.parseLong() method
class GFG {
public static void main(String[] args)
{
double doubleValue = 4512.412;
System.out.println("Double Value: " + doubleValue);
// Convert double to string
String str = String.valueOf(doubleValue);
// Get the index of decimal (.) in the string
int index = str.indexOf('.');
// Trim the string if needed
str = str.substring(0, index == -1 ? str.length()
: index);
// Convert the string to long
long longValue = Long.parseLong(str);
// print long Value
System.out.println("Long Value: " + longValue);
}
}
Double Value: 4512.412 Long Value: 4512
相關用法
- Java Double轉String用法及代碼示例
- Java Double轉Integer用法及代碼示例
- Java Double equals()用法及代碼示例
- Java Double floatVlaue()用法及代碼示例
- Java Double isFinite()用法及代碼示例
- Java Double longBitsToDouble()用法及代碼示例
- Java Double max()用法及代碼示例
- Java Double min()用法及代碼示例
- Java Double sum()用法及代碼示例
- Java Double compareTo()用法及代碼示例
- Java Double toHexString()用法及代碼示例
- Java Double toString()用法及代碼示例
- Java Double valueOf()用法及代碼示例
- Java Double doubleTorRawLongBits()用法及代碼示例
- Java Double byteValue()用法及代碼示例
- Java Double compare()用法及代碼示例
- Java Double.compareTo()用法及代碼示例
- Java Double doubleToLongBits()用法及代碼示例
- Java Double doubleToRawLongBits()用法及代碼示例
- Java Double doubleValue()用法及代碼示例
- Java Double.equals()用法及代碼示例
- Java Double floatValue()用法及代碼示例
- Java Double hashCode()用法及代碼示例
- Java Double intValue()用法及代碼示例
- Java Double isInfinite()用法及代碼示例
注:本文由純淨天空篩選整理自vpsop大神的英文原創作品 Java Program to Convert Double to Long。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。