程序员子龙(Java面试 + Java学习) 程序员子龙(Java面试 + Java学习)
首页
学习指南
工具
开源项目
技术书籍

程序员子龙

Java 开发从业者
首页
学习指南
工具
开源项目
技术书籍
  • 基础

    • java 学习路线图
    • HashMap 详解
    • Java 8 日期和时间 - 如何获取当前时间和时间戳?
    • Java 模板变量替换(字符串、占位符替换)
    • JDK 代理
    • Java SPI 详解
    • java stream 看这一篇文章就够了
    • Java 泛型详解
    • Java 动态修改注解值
    • 如何正确遍历删除List中的元素
    • 什么是Java注解
    • 异步编程神器:CompletableFuture详解
    • FIFO 、LRU、LFU算法
    • 十进制转十六进制
      • 十进制转十六进制
      • String.format()说明
        • String.format()两个重载方法
        • 占位符类型
        • 常用标识
      • 十六进制转十进制
    • java中double类型数据加减乘除操作精度丢失问题及解决方法
    • JAVA利用反射清除实体类对应字段
    • JSON转换问题最全详解(json转List,json转对象,json转JSONObject)
    • java 8 List 根据某个字段去重
    • Java List排序
    • 压缩算法:字符串(JSON)压缩和解压【JDK之Deflater压缩与Inflater解压】
    • BCD码是什么?
    • Java二进制、八进制、十进制、十六进制转换
    • Java String字符串 与 ASCII码相互转换
    • 什么是跨域?解决方案有哪些?
    • Java 16进制字符串转10进制
    • LinkedHashMap实现LRU - 附重点源码解析
    • 去掉 if...else 的七种绝佳之法
    • 一眼看清@JSONField注解使用与效果
  • JVM

  • Spring

  • 并发编程

  • Mybatis

  • 网络编程

  • 数据库

  • 缓存

  • 设计模式

  • 分布式

  • 高并发

  • SpringBoot

  • SpringCloudAlibaba

  • Nginx

  • 面试

  • 生产问题

  • 系统设计

  • 消息中间件

  • Java
  • 基础
程序员子龙
2024-02-27
目录

十进制转十六进制

# 十进制转十六进制

  /**
     * 十进制数转十六进制数,不够指定位数就在前面补零。超过位数不截取
     * @param num 十进制数
     * @param digits 位数,转成多少位的十六进制数
     * @return
     */
    public static String decimal2Hex(Integer num,int digits){
        return String.format("%0"+digits+"x",num);
    }

1
2
3
4
5
6
7
8
9
10

# String.format()说明

# String.format()两个重载方法

format(String format, Object…args):新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。

format(Locale locale, String format, Object… args):使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。

# 占位符类型

转换符 转换符 示例说明
%s 字符串类型 “值得点赞”
%c 字符类型 ‘h’
%b 布尔类型 true
%d 整数类型(十进制) 88
%x 整数类型(十六进制) FF
%o 整数类型(八进制) 77
%f 浮点类型 7.777
%a 十六进制浮点类型 FF.35AE
%e 指数类型 9.38e+5
%g 通用浮点类型(f和e类型中较短的) 基本用不到
%h 散列码 基本用不到
%d% 百分比类型 %(%特殊字符%%才能显示%)
%n 换行符 基本用不到
%tx 日期与时间类型 基本用不到

示例代码如下:

public static void main(String[] args) {
        String str;
        // %s
        str = String.format("Hi,%s", "Jack");
        // hi,Jack
        System.out.println(str);
        // %c   %n
        str = String.format("字母d的大写是:%c %n", 'D');
        // 字母d的大写是:D
        System.out.println(str);
        // %b
        str = String.format("布尔结果是:%b", 3 > 1);
        // 布尔结果是:true
        System.out.println(str);
        // %d
        str = String.format("50的一半是:%d", 50/2);
        // 50的一半是:25
        System.out.println(str);
        // %x
        str = String.format("100的16进制数是:%x", 100);
        // 100的16进制数是:64
        System.out.println(str);
        // %o
        str = String.format("100的8进制数是:%o", 100);
        // 100的8进制数是:144
        System.out.println(str);
        // %f
        str = String.format("50元的书打6.5折是:%f 元", 50 * 0.65);
        // 50元的书打6.5折是:32.500000 元
        System.out.println(str);
        // %a
        str = String.format("上面打折后价格的16进制数是:%a", 50 * 0.65);
        // 上面打折后价格的16进制数是:0x1.04p5
        System.out.println(str);
        // %e
        str = String.format("上面打折后价格的指数表示是:%e", 50 * 0.65);
        // 上面打折后价格的指数表示是:3.250000e+01
        System.out.println(str);
        // %g
        str = String.format("上面价格的指数和浮点数结果的长度较短的是:%g", 50 * 0.65);
        // 上面价格的指数和浮点数结果的长度较短的是:32.5000
        System.out.println(str);
        // %d%
        str = String.format("上面的折扣是:%d%%", 85);
        // 上面的折扣是:65%
        System.out.println(str);
        // %h
        str = String.format("字母A的散列码是:%h",'A');
        // 字母A的散列码是:41
        System.out.println(str);
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

# 常用标识

标识 说明
+ 为正数或负数添加符号
0 在数字位数不够的地方补上0
空格 在位数不够的地方补上空格
, 对数字分组,三位一隔,只可以用于十进制
( 使用括号将去掉负号的负数包含进来
# 让十六进制的数字加上OX,八进制的数字加上o;辅助%x和%o的使用,相当于一种对数字进制的补充说明提示
< 格式化前一个转换符锁描述的参数
- 左对齐,不够位数的地方补上空格

# 十六进制转十进制

   String numHex = "100000";
   System.out.println(Integer.valueOf(numHex, 16));
1
2
上次更新: 2024/03/18, 15:55:19
FIFO 、LRU、LFU算法
java中double类型数据加减乘除操作精度丢失问题及解决方法

← FIFO 、LRU、LFU算法 java中double类型数据加减乘除操作精度丢失问题及解决方法→

最近更新
01
一个注解,优雅的实现接口幂等性
11-17
02
MySQL事务(超详细!!!)
10-14
03
阿里二面:Kafka中如何保证消息的顺序性?这周被问到两次了
10-09
更多文章>
Theme by Vdoing | Copyright © 2024-2024

    辽ICP备2023001503号-2

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式