首页 > 代码库 > JAVA浮点数保留位数
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 表示浮点型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。