• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
漫椿
博客园    首页    新随笔    联系   管理    订阅  订阅
java BigDecimal类/DecimalFormat类

BigDecimal类

1.由于在运算的时候,float类型和double很容易丢失精度,在金融、银行等对数值精度要求非常高的领域里面,就不能使用float或double了,为了能精确的表示、计算浮点数,Java提供了BigDecimal

2.:如果对计算的数据要求高精度时,必须使用BigDecimal类;

3. //开发时推荐通过传入字符串的方式 :

       BigDecimal bd3 = new BigDecimal("2.0");

        BigDecimal bd4 = new BigDecimal("1.1");

        System.out.println(bd3.subtract(bd4));

 

DecimalFormat类

1.在一些金融或者银行的业务里面,会出现这样千分位格式的数字,¥123,456.00,表示人民币壹拾贰万叁仟肆佰伍拾陆元整,java.text包下提供了一个DecimalFormat的类可以满足这样的需求。

2.//创建数字格式化对象

//需求:加入千分位.

DecimalFormat df =new DecimalFormat("###,###");

//开始格式化

System.out.println(df.format(1234567)); //"1,234,567"

//加入千分位,保留2位小数

DecimalFormat df1 =new DecimalFormat("###,###.##");

System.out.println(df1.format(1234567.123)); //"1,234,567.12"

//加入千分位,保留4位小数,并且不够补0

DecimalFormat df2 =new DecimalFormat("###,###.0000");

System.out.println(df2.format(1234567.123));

 
posted on 2020-06-04 11:46  编程耽误的厨子  阅读(298)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3