栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础语法(浮点数四舍五入)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础语法(浮点数四舍五入)

Java基础语法(浮点数四舍五入)
  • 1 String 格式化
  • 2 BigDecimal
  • 3 DecimalFormat

1 String 格式化

引用类型 String 有一个格式化方法:format(String format, Object… args),支持 float 和 double 类型:
1、参数:

  • format:A format string 格式字符串;
  • args:格式字符串中格式说明符引用的参数。 如果比格式说明符更多的参数,额外的参数将被忽略。 参数的数量是可变的,可能为零。

2、结果:格式化的字符串;
3、异常:IllegalFormatException - 如果格式字符串包含非法语法,则与给定参数不兼容的格式说明符,给定格式字符串的参数不足或其他非法条件。

转换符说明示例
%s字符串类型“myString”
%c字符类型‘a’
%b布尔类型false
%d整数类型(十进制)99
%x整数类型(十六进制)FF
%o整数类型(八进制)77
%f浮点类型98.98
%a十六进制浮点类型F9.A47EF
%e指数类型9.38e+5
%g通用浮点类型(f 和 e 类型中较短的)
%h散列码
%%百分比类型%
%n换行符
%tx日期与时间类型(x 代表不同的日期与时间转换符)
    public static void main(String[] args) {
        double data = 3.025;
        //利用字符串格式化的方式实现四舍五入,保留1位小数
        String result = String.format("%.2f",data);
        //1代表小数点后面的位数, 不足补0。f代表数据是浮点类型。保留2位小数就是“%.2f”,依此累推。
        System.out.println(result);//输出3.03
    }
2 BigDecimal

引用类型 java.math.BigDecimal 实现四舍五入,支持 float 和 double 类型:

	public static void main(String[] args) {
        double data = 3.026;
        //利用BigDecimal来实现四舍五入.保留一位小数
        double result = new BigDecimal(data).setScale(2, BigDecimal.ROUND_HALF_UP).doublevalue();
        //1代表保留1位小数,保留两位小数就是2,依此累推
        //BigDecimal.ROUND_HALF_UP 代表使用四舍五入的方式
        System.out.println(result);//输出3.03
    }

BigDecimal 的四舍五入注意事项:

  • double data = 3.026; 中 3.026 为 double 时的四舍五入是 > 5 才可行,3.025 则输出 3.02;
  • double data = 3.026f; 中 3.026f 为 float 时的四舍五入是 >= 5,3.025 则输出 3.03;
  • float data = 3.026f; 中都为 float 时的四舍五入是 >= 5,3.025 则输出 3.03;
3 DecimalFormat

引用类型 java.text.DecimalFormat 实现四舍五入,仅支持 float 类型:

	public static void main(String[] args) {
        DecimalFormat decimalFormat=new DecimalFormat("#.##");
        //保留2位小数,.后面的#代表小数点后面的位数,保留3位小数就是#.###
        System.out.println(decimalFormat.format(3.065f));//输出3.07
        System.out.println(decimalFormat.format(3.065));//double类型不支持,输出3.06
    }
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号