簡體   English   中英

在不丟失確切值的情況下將 Double 轉換為 long

[英]Convert a Double to long without losing the exact value

我有一個Double對象,它在轉換為long值時會丟失確切的值。

Double d = 1.14*100
    
System.out.println(d.longValue());

上面的語句將打印: 113

我想要打印114

如果您需要使用Math.round的確切 114 值:

double d = 1.14*100;
System.out.println(Math.round(d));

嘗試這個

Long.parseLong( String.format( "%.0f",doublevalue ) ) ;

如果您正在尋找具有您期望的值的整數/長值表示,您可以使用這個:

Math.round(1.14 * 100)

首先, double並不准確。 接下來,當將double / float轉換long / int時,會刪除小數部分(不四舍五入)。

要獲得最接近的值,您需要對其進行四舍五入

System.out.println(Math.round(d));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM