java 格式化 浮点数_Java string.format 控制整数与浮点数总结

1.对整数进行格式化:%[index]$[标识][最小宽度]转换方式

标识:

'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用

'#' 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x

'+' 结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)

' ' 正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)

'0' 结果将用零来填充

',' 只适用于10进制,每3位数字之间用“,”分隔

'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同‘+’具有同样的限制)

转换方式:

d-十进制 o-八进制 x或X-十六进制

举几个例子:

System.out.println(String.format("%1$,02d,test %2$,011d", -3123,1234));

输出内容:-3,123,test 0000001,234

System.out.println(String.format(",test %4$,011d", -3123,1234,45,23));

输出内容:-3123,test 00000000023

System.out.println(String.format("%1$+dthe text here will show %2$,+011d", -3123,1234,45,23));

输出内容:-3123the text here will show +000001,234

详解:

1. 在这串参数中,除了%[index]$[标识][最小宽度]转换方式 这一部分的内容用于设定输出格式外,其他的字符都会被输出。

2. 这串参数内没有被 %index提到的参数的都不会被输出,index从1开始数起。

3. %跟着index,两者缺一不可。

4. $后面跟着标识,可以连续跟几个标识,但不可有$没有标识。

5. 转换方式不可省略。

6. %是转意符

2. 对浮点数进行格式化:%[index]$[标识][最少宽度].[精度]转换方式

标识:

'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用'+' 结果总是包括一个符号' ' 正值前加空格,负值前加负号'0' 结果将用零来填充',' 每3位数字之间用“,”分隔(只适用于fgG的转换)'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)

转换方式:'e', 'E' -- 结果被格式化为用计算机科学记数法表示的十进制数'f' -- 结果被格式化为十进制普通表示方式'g', 'G' -- 根据具体情况,自动选择用普通表示方式还是科学计数法方式'a', 'A' -- 结果被格式化为带有效位数和指数的十六进制浮点数

例子:

System.out.println(String.format("%1$+f", -345243.432));

输出内容:-345243.432000

System.out.println(String.format("%1$+.2f", -345243.436));

输出内容:-345243.44

详解:

1. 在这串参数中,除了%[index]$[标识][最小宽度]转换方式 这一部分的内容用于设定输出格式外,其他的字符都会被输出。

2. 这串参数内没有被 %index提到的参数的都不会被输出,index从1开始数起。

3. %跟着index,两者缺一不可。

4. $后面跟着标识,可以连续跟几个标识,但不可有$没有标识。

5. 转换方式不可省略。

6. %是转意符

7. . 后跟精度,两者必须同时出现,若没有,默认值是小数点后6位。超出设定精度,自动进行四舍五入。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值