蓝桥杯JAVA-3.自定义类排序、进制转换、保留小数位数

目录

个人博客
www.tothefor.com

蓝桥杯复习知识点汇总

1.进制转换

1.1 十进制转其他进制

一个重要的函数:Integer.toString(k,r) ,将十进制的数k转换为r进制的数。返回一个String。

int k = 17;
System.out.println(Integer.toBinaryString(k)); //转二进制
System.out.println(Integer.toOctalString(k)); //转八进制
System.out.println(Integer.toHexString(k)); //转十六进制

int r =2;
System.out.println(Integer.toString(k,r)); //转r进制
r=8;
System.out.println(Integer.toString(k,r)); //转r进制
r=16;
System.out.println(Integer.toString(k,r)); //转r进制

1.2 其他进制转换为十进制

函数:Integer.parseInt(str,r) ,将r进制的数字字符串str转换为十进制,并返回十进制的数。

System.out.println(Integer.parseInt("10001",2));
System.out.println(Integer.parseInt("21",8));
System.out.println(Integer.parseInt("11",16));
        
//输出结果
17
17
17

2.保留小数位数

2.1 String.format()

double a = 123.456789;
double b = 123.444444;
String sa = String.format("%.2f",a);
System.out.println(sa);
String sb = String.format("%.2f",b);
System.out.println(sb);

//输出
123.46
123.44

//简写
System.out.println(String.format("%.2f",a));

2.2 DecimalFormat的format方法

double a = 123.456789;
double b = 123.444444;
DecimalFormat dfa = new DecimalFormat("0.00");
System.out.println(dfa.format(a));
DecimalFormat dfb = new DecimalFormat("0.00");
System.out.println(dfb.format(b));

//输出 
123.46
123.44

//简写
System.out.println(new DecimalFormat("0.00").format(a));

DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。如:

double a = 123.00;
DecimalFormat dfa = new DecimalFormat("#.##");
System.out.println(dfa.format(a));
DecimalFormat dfb = new DecimalFormat("0.00");
System.out.println(dfb.format(a));

//输出
123
123.00

2.3 BigDecimal的setScale方法(了解)

double f = 111231.5585;
BigDecimal bg = new BigDecimal(f);           
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();   //setScale已经过时        
System.out.println(f1);

2.4 NumberFormat的setMaximumFractionDigits方法(了解)

double f = 111231.5585;
NumberFormat nf = NumberFormat.getNumberInstance();           
nf.setMaximumFractionDigits(2);           
System.out.println(nf.format(f));
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值