Java 對Double 型別四捨五入
阿新 • • 發佈:2018-12-26
下面簡單給出三種:個人喜歡第一種,比較靈活,保留多少位很方便設定
import java.math.RoundingMode; import java.text.NumberFormat; public class TestMain { public static void main(String [] args){ Double d = 56.32158796549989D; d = handleDecimal(d); System.out.println(d); } //處理小數位數 private static Double handleDecimal(Double d ){ int decimal = 3; NumberFormat nf = NumberFormat.getNumberInstance(); // 保留兩位小數 nf.setMaximumFractionDigits(decimal); // 四捨五入 nf.setRoundingMode(RoundingMode.HALF_UP); String result = nf.format(d); return Double.valueOf(result); } //處理小數位數 private static Double handleDecimal1(Double d ){ return (double)Math.round(d*1000)/1000; } //處理小數位數 private static Double handleDecimal2(Double d ){ String str = String.format("%.3f", d); return Double.valueOf(str); } }