1.时间类型格式化

1-1.Date(日期)

Date类是一个非抽象类,也就是具体类,那么就可以将其实例化,实例化会使用系统的当前日期和时间创建一个日期对象,这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间,通过Date类的get方法可以拿到我们想要的具体数据,也可以通过set方法来设置特定的时间和日期。要注意的是通过get方法拿到的某些值是与1999年01月01日0时0分的相对值。比如现在如果是2016年,那么下图代码的输出为116。

图(1)

我们可以发现这个getYear()方法上有一个横线,其实Date的好多方法都是如此,原因是不被推荐使用,而被推荐的是使用Calendar类来达到相关的目的。

1-2.Calendar(日历)

Calendar类是一个抽象类,通常通过getInstance()方法得到一个当前时区,当前语言设置下的实例。Calendar cal = Calendar.getInstance();

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH);

现在是2016年12月,那么year的值为2016,month的值为11(一月是0)。

我们也可以通过其set方法设置我们想要的时间和日期。要注意的是通过Date类和Calendar类的set方法设置日期时间后,再通过get方法拿到的是我们设置的时间和日期。

图(2)

图(2)year和month的值为2015和5(6月)。

1-3.DateFormat(日期格式)

DateFormat类也是一个抽象类,通常使用其具体子类SimpleDateFormat来对日期类型(Date类型)进行格式化,使用其构造方法实例化一个SimpleDateFormat,并给出想要的格式就可以对Date类型进行格式化了。

图(3)Sun Dec 04 13:25:14 CST 2016

2016-12-04 13:25:14

2.数字格式化和精度

2-1.使用NumberFormat

NumberFormat.getInstance()方法返回NumberFormat的一个实例(实际上是NumberFormat具体的一个子类,例如DecimalFormat),  这适合根据本地设置格式化一个数字。可以使用非缺省的地区设置,例如德国。然后格式化方法根据特定的地区规则格式化数字。NumberFormat nf =NumberFormat.getInstance(Locale.CHINA);

nf.format(1234567.12345)

如果将这个值输出,则为123,456.123,默认四舍五入保留三位小数。显然这种方法不好用且有一定的缺陷。

2-2.使用DecimalFormat

DecimalFormat是一个具体类,用法和SimpleDateFormat相似,通过其构造方法实例化,并给出想要的格式。

2-2-1.格式化数字DecimalFormat df0 = new DecimalFormat();

System.out.println(df0.format(123456));

因为本地是中国,则输出为123,456,可以设置不同的国家,来得到相应的格式。Locale.setDefault(Locale.GERMAN);

DecimalFormat df0 = new DecimalFormat();

System.out.println(df0.format(123456));

设置为德国风格,则输出为123.456。(中国的为一撇,德国的为一点)

2-2-2.数字精度DecimalFormat  df1  =  new  DecimalFormat(".000");

System.out.println(df1.format(1234.56));

输出为1234.560。也可以使用像"####.000"的符号。这个模式意味着在小数点前有四个数字,如果不够就空着,小数点后有三位数字,不足用0补齐。DecimalFormat df0 = new DecimalFormat();

DecimalFormat df1 = new DecimalFormat(".00");

String i = df1.format(123456.12345);

System.out.println(i);

System.out.println(df0.format(Double.parseDouble(i)));

输出分别为:123456.12

123,456.12

2-2-3.科学计数法DecimalFormat  df  =  new  DecimalFormat("0.00E0");

System.out.println(df.format(1234000000000000.56));

输出为:1.23E15。NumberFormat nf = NumberFormat.getPercentInstance();

System.out.println(nf.format(0.45022));

输出为:45%。NumberFormat nf = NumberFormat.getPercentInstance();

nf.setMinimumFractionDigits(2);

System.out.println(nf.format(0.45022));

输出为:45.02%。

java金额三位一撇方法_Java数据格式化问题相关推荐

  1. java 及 js 格式化金额 三位一撇(逗号)

    System.out.println(new DecimalFormat("#,###.00").format(22223.021)); //格式化金额 function outp ...

  2. Extjs处理客户复制三位一撇到numberfield里面

    在偶尔一个项目中, 客户要求可以复制一部分金额(三位一撇)到Ext.form.NumberField里面去,而且他们要求保证数据不变,但是对于原生态的NumberField, 当你鼠标移开时, 会自动 ...

  3. 三位一撇:处理数字12345.67——12,345.67

    一:数据库处理 1:数据库有Convert(),一般大家用的比较多的是对时间的处理,其实他还可以对金钱类型(money)处理. select convert(varchar(30),convert(m ...

  4. java 三点_[Java教程]三点运算符使用方法

    [Java教程]三点运算符使用方法 0 2017-10-13 03:01:05 先看一个es6规范下三点运算符的使用实例:let fun=function(a,...list){ console.lo ...

  5. iOS-格式化金额,三位一逗号

    代码地址如下: http://www.demodashi.com/demo/11244.html 项目版本更新迭代中, 新增需求: 所有金额必须用标准会计表示方式(¥94,862.57). 而之前金额 ...

  6. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  7. java判断三位数的范围代码_java判断三位数的实例讲解

    java判断三位数的实例讲解 java怎么判断三位数 先定义个测试数字,如图 然后可以把数字转换成字符串来判断它的长度是否为3,如图 获取判断数字范围是否在100到1000之间的值,如图 在或者判断数 ...

  8. java中线程死锁的解决方法_Java线程死锁实例及解决方法

    这篇文章主要介绍了Java线程死锁实例及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.死锁的定义 所谓死锁是指多个线程因竞争资源而造成 ...

  9. java 集合遍有几种方法_Java 集合遍历的几种方法

    以下实例演示了如何遍历从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型的集合,以下我们分别使用了普通for,增强型的 for ,iterator 等方式来遍历集合: ...

最新文章

  1. 创建oracle发邮件job导致的故障
  2. Jenkins Pipeline插件十大最佳实践!
  3. handler机制的原理_5分钟了解Handler错误使用场景
  4. 一文详解超参数调优方法
  5. url中携带中文乱码问题
  6. 微软力挺 Go,宣布参与 Athens 项目和 GopherSource
  7. stack videos in ffmpeg
  8. 在blog中显示天气预报、日历、时钟、MSN、QQ在线状态、中国农历
  9. 2019.10.15学习总结
  10. android 横向竖排文字,GitHub - tung666/AdvancedTextView: 一个增强的TextView库。可以实现文字两端对齐,文字竖排,以及自定义选择文字后的弹出菜单。...
  11. 如何处理httpclient的ssl错误
  12. uni-app 应用换肤功能
  13. ib课程北京国际学校哪里有?
  14. 25、Java面向对象——抽象类和抽象方法、接口
  15. Mac无法开机?别着急看这里
  16. pymysql数据库的水果店销售系统之管理员端1.0
  17. 关于 input在 chrome 、IE浏览器中遇到的兼容性问题处理
  18. 手把手教你静态代码检查工具TscanCode安装与使用
  19. AT24C04C/08C 中关于写保护WP的使用说明
  20. windows删除不了文件解决方法(亲测有效)

热门文章

  1. 【汇正财经】怎样利用价值投资买牛票?
  2. 晚上几点入睡比较好,如果每天1点睡,8点半起,可以保持健康吗?
  3. win10正式版新功能介绍
  4. 在线付费问诊互联网医院智慧医疗系统包含哪些功能
  5. Android 一个简单的音乐播放器
  6. 基于QT的网络音乐播放器(一)
  7. nodejs+vue+elementui鲜花销售商城管理系统410
  8. 国际商务英语学习[十八]
  9. Windows Mobile 5.0 认知篇
  10. 全网超详细的VMware虚拟机安装Kali Linux系统以及首次启动Kali Linux系统的注意事项