Dotcpp  >  编程教程  >  Java常用实用类  >  Java格式化浮点数

Java格式化浮点数

点击打开在线编译器,边学边练

1.float、Float、double和Double

%f,%e(%E),%g(%G)和%a(%A)格式符可格式化float、Float、double和Double,其中:

%f将值格式化为十进制浮点数,小数保留6位。

%e(%E)将值格式化为科学记数法的十进制的浮点数,%E在格式化时将其中的指数符号大写。

例如:

String S = String.format("%f,%e",1234.56,1234.56);

那么,字符串s就是"1234.560000,1.23456e+03"。

2.修饰符

1)加号修饰符“+”

格式化正数时,强制添加上正号,例如:%+f将123.45格式化为"+123.45",%+E将123.45格式化为"+1.2345E+2"。

2)逗号修饰符“,”

格式化浮点数时,将整数部分按“千”分组,例如:

String s = String.format("整数部分按千分组:%+,f",123456789.987);

那么,字符串s就是"整数部分按千分组:+123,456,789.987000"。

3.限制小数位数与数据的“宽度”

“%.nf”可以限制小数的位数,其中的n是保留的小数位数,例如:%.3f将3.1415926格式化为"3.142"(保留3位小数)。

规定数据宽度的一般格式为"%md",其效果是在数字的左面增加空格;若为"%-md",其效果是在数字的右面增加空格。

例如,将数字12.34格式化为宽度为10的字符串:

String s = String.format("%10f",12.34);

那么,字符串s就是" 12.340000",其长度(s.length())为10,即s在12.340000左面添加了1个空格字符,对于:

String s = String.format("%-10f",12.34);

那么,字符串s就是"12.340000 ",其长度(s.length())为10,即s在12.340000右面添加了1个空格字符。

在指定宽度的同时也可以限制小数位数(%m.nf),对于:

String s = String.format("%10.2f",12.34);

那么,字符串s就是"     12.34",其长度(s.length())为10,即s在12.34左面添加了5个空格字符。

我们也可以在宽度的前面增加前缀0,表示用数字0,不用空格来填充宽度左面的富余部分,例如:

String s = String.format("%010f",12.34);

那么,字符串s就是"012.340000",其长度(s.length())为10,即s在12.340000的左面添加了1个数字0。

注意:如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度进行格式化。



本文固定URL:https://www.dotcpp.com/course/855

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)