本文主要是介绍JAVA浮点数保留位数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方式一:
BigDecimal.setScale用于格式化小数点
setScale(1)表示保留以为小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN) 四舍五入,2.35变成2.3,如果是5则向下舍
class Main{public static void main(String agrs[]){double d = 2.5;BigDecimal b = new BigDecimal(d);//直接删除多余的位数、
// double dd = b.setScale(1,BigDecimal.ROUND_DOWN).doubleValue(); //向上保留位数(跟c++中的ceil)
// double dd = b.setScale(1,BigDecimal.ROUND_CEILING).doubleValue();
// double dd = b.setScale(1,BigDecimal.ROUND_UP).doubleValue(); //四舍五入,当保留整数位的时候,5向上舍入
// double dd = b.setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue();
//四舍五入,当保留整数位的时候,5向下舍入
// double dd = b.setScale(0,BigDecimal.ROUND_HALF_DOWN).doubleValue(); System.out.println(dd);}
方式二:
保留结果四舍五入
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
方式三:
保留结果四舍五入
用法跟C printf()一样。
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
这篇关于JAVA浮点数保留位数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!