在Java中,可以使用Math.round()
方法對Double
類型的雙精度浮點數進行四舍五入。但是,Math.round()
方法接受的是long
類型的參數,因此需要先將Double
類型轉換為long
類型。以下是一個示例:
public class RoundDouble {
public static void main(String[] args) {
Double num = 123.456;
long roundedNum = Math.round(num);
System.out.println("原始數字: " + num);
System.out.println("四舍五入后的數字: " + roundedNum);
}
}
如果你需要保留小數點后幾位,可以先將Double
類型的數字乘以10的相應次方,然后進行四舍五入,最后再除以10的相應次方。以下是一個保留兩位小數的示例:
public class RoundDouble {
public static void main(String[] args) {
Double num = 123.456;
double roundedNum = Math.round(num * 100.0) / 100.0;
System.out.println("原始數字: " + num);
System.out.println("四舍五入后的數字: " + roundedNum);
}
}
另外,你還可以使用BigDecimal
類來進行更精確的四舍五入操作:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class RoundDouble {
public static void main(String[] args) {
Double num = 123.456;
BigDecimal bd = new BigDecimal(num);
bd = bd.setScale(2, RoundingMode.HALF_UP);
double roundedNum = bd.doubleValue();
System.out.println("原始數字: " + num);
System.out.println("四舍五入后的數字: " + roundedNum);
}
}
在這個示例中,我們使用BigDecimal
類的setScale()
方法設置保留的小數位數和舍入模式(這里是保留兩位小數并進行四舍五入)。然后,我們可以使用doubleValue()
方法將BigDecimal
對象轉換回double
類型。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。