0
点赞
收藏
分享

微信扫一扫

java Format相关 个人笔记

佃成成成成 2022-02-26 阅读 58
java

NumberFormat

getAvailableLocales() 返回所有的语言环境的数组

getInstance()返回默认的语言环境的 数字格式

getInstance(local)返回指定的local的语言环境的数字格式

getCurrencyInstance()返回默认的 货币格式

DecimalFormat

符号含义:

0 一个数字 要补0

** # **一个数字,不补0

. 小数的分隔符的占位符

, 分组分隔符的占位符

; 分隔格式。

-负数前缀。

% 乘以 100 和作为百分比显示

E 科学计算法

? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用 国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代 替十进制分隔符。

X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

double pi=3.1415927;//圆周率
        //取两位整数和三位小数,整数不足部分以0填补。  
        System.out.println(new DecimalFormat("00.000").format(pi));//03.142  
        //取所有整数部分  
        System.out.println(new DecimalFormat("#").format(pi));//3  
        //以百分比方式计数,并保留两位小数  
        System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%  
        
        long c=299792458;//光速  
        //显示为科学计数法,并取五位小数  E后的就是10的指数
        System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8  
        //显示为两位整数的科学计数法,并取四位小数  
        System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7  
        //每三位以逗号进行分隔。  
        System.out.println(new DecimalFormat(",###").format(c));//299,792,458  
        //将格式嵌入文本  
        System.out.println(new DecimalFormat("光速大小为每秒,###米").format(c)); //光速大小为每秒299,792,458米

注意的是 如果你指定的数字格式如"0.0" 而要格式化的数字是123.456 ,最终格式化的结果是123.4 整数部分会完整的保留下来,小数部分超过的会舍掉

DateFormat类

是一个抽象类,可以通过 该类中的static方法 getDateInstance() 来得到实例对象

还有getDateTimeInstance()来得到时间日期对象

其中format(Date对象)方法就是格式化日期

getDateInstance(style,locale)

var i=DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));设置格式以便中国的阅读方式

但这还是系统自带的默认的,如果你想要格式化为你自己想要的 格式的话要用到DateFormat的子类 SimpleDateFormat

SimpleDateFormat

在实际的开发中常用SimpleDateFormat将String转换为Date

日期格式化模板标记

y年 M月 d天 H小时 m分钟 s秒 SSS毫秒

其实这里 的y啊m之类的个数只是 规定了 对应的数字个数

如果 y 的数量大于年份的数字数量::yyyyy 的年份是2022年的话 那么 就是02022年会 添加0补齐

如果 y 的数量小于年份的数字数量::y的年份是2022年的话 那么就还是2022年不变

日期转字符串

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
    Date d= new Date();
    String str = sdf.format(d);
    System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);
    SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
    Date d1= new Date();
    String str1 = sdf1.format(d1);
    System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);
 也可以这样  String format="yyyy/MM/dd HH:mm:ss";
    Date d=new Date();
    System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+format.formatted(d));  
      字符串也带有一个方法将Data格式输出
举报

相关推荐

Java个人笔记

JAVA个人笔记

java日期 个人笔记

个人笔记-java项目

个人JAVA学习笔记总结(2)

JDBC相关——java学习笔记

goole-java-format

0 条评论