zoukankan      html  css  js  c++  java
  • review18

    数字格式化

    程序可以直接使用String类调用format方法对数字进行格式化。

    format方法中的“格式化模式”是一个用双引号括起的字符序列(字符串),该字符序列的字符由格式符和普通字符所构成。代码展示如下所示:

    public class Test05 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String s1 = String.format("%.2f", 3.1415926);
            System.out.println(s1);
            String s2 = String.format("%d元%3.3f公斤%d台", 888, 999.7766, 123);
            System.out.println(s2);
        }
    
    }

    运行结果如下所示:

    格式化的顺序 

    一般来说,format的格式化顺序是从左往右,但是可以在格式符前面添加索引符号:index$,例如1$表示值列表的第一个。

    String s3 = String.format("不是从左往右: %2$.3f, %3$d, %1$d", 888, 3.141592, 100);
    System.out.println(s3);

    运行结果如下所示:

    如果准备在“格式化模式”中包含普通的“%”,需要连续添加两个%,如

    String s4 = String.format("%d%%", 89);
    System.out.println(s4);

     运行结果如下所示:

    格式化整数

    1. %d, %o, %x和%X

    %d 将值格式化为十进制整数。

    %o将值格式化为八进制整数。

    %x将值格式化为小写的十六进制整数,例如abc58。代码展示如下所示:

    public class Test06 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String s = String.format("%d,%o,%x,%X",65500, 65500, 65500, 65500);
            System.out.println(s);
                    
        }
    
    }

    运行结果如下所示:

    修饰符

    String s2 = String.format("按千分组:%,d. 按千分组带正号 %+,d", 12345, 123456);
    System.out.println(s2);

    运行结果如下所示:

    数据的宽度

     规定数据宽度的一般格式为"%md",其效果是在数字的左边添加空格:或“%-md”,其效果是在数字的右边添加空格。代码如下所示:

    String s3 = String.format("%8d", 59);
            System.out.println(s3);
            String s4 = String.format("%-8d", 59);
            System.out.println(s4);
            System.out.println(s4.length());

    运行结果如下所示:

    字符串s3和s4的长度发生改变了,变成8.如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度显示。

    %f,%e(%E),%g(%G)和%a(%A)格式符可格式化float、Float、double和Double,详细说明如下:

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

    %e将值格式化为科学计数法的十进制的浮点数

    String s = String.format("%f, %e", 7283.89, 23929.98);
            System.out.println(s);

    运行结果如下所示:

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

    String s1 = String.format("%11f", 59.88);
            System.out.println(s1);
            String s2 = String.format("%-11f", 59.88);
            System.out.println(s2);

    运行结果如下所示:

  • 相关阅读:
    C# DataTable的用法详解
    Matlab绘图方法汇总
    java中Comparator的用法
    Java获取随机数
    jQuery动画高级用法——详解animation中的.queue()函数
    Oracle序列号详解
    jQuery验证框架教程
    二十四、按后退键退出Android程序
    同步synchronized用法
    jQuery 复选框全选反选
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9425068.html
Copyright © 2011-2022 走看看