0
我想將英里轉換爲公里。在這種情況下使用BigDecimal
是否過分?將十進制數轉換爲完整整數 - 是BigDecimal矯枉過正?
我可以改進以下不使用BigDecimals嗎?我想輪到最近的完整號碼。我對小數點不感興趣。
private static final BigDecimal MILE = new BigDecimal(1.609344);
String milesToKm(String miles) {
return new BigDecimal(miles).multiply(MILE).setScale(0, RoundingMode.HALF_UP).toString();
}
如果你在公里和英里都使用整數,'BigDecimal'肯定是矯枉過正。我不知道這種影響(你可以測量時間差異)。浮點錯誤非常小,所以如果你在轉換後進行舍入,你將不會注意到它們。 (我沒有參考證明我的陳述 - 雖然我確定他們存在 - 這就是爲什麼我不會發布這個答案;-)) –
作爲'MILE'必須是帶分數的小數,我可能不能在這裏使用BigInteger ... – membersound
我暗示只是使用'double'或'float' ... –