您的位置:首页 > 编程语言 > Java开发

保留小数:java DecimalFormat format 方法的使用

2014-02-27 16:05 501 查看

DecimalFormat format 方法

大家在format()一个小数是,总是对格式中的'0'和'#'有些不解吧!

eg: 

    1:new DecimalFormat("00.000").format(pi) //结果:03.142

    2:new DecimalFormat("##.###").format(pi) //结果:3.142

都是对pi进行格式化,但第一个的结果是03.142,第二个的结果是3.142

这是什么原因呢?

0和#都是占位符,但在不同的地方,作用不一样。下面对他们做了具体的比较。

希望对大家有所帮助。

0: 

    比实际数字的位数多,不足的地方用0补上。

    new DecimalFormat("00.00").format(3.14)  //结果:03.14

    new DecimalFormat("0.000").format(3.14)  //结果: 3.140

    new DecimalFormat("00.000").format(3.14)  //结果:03.140

    比实际数字的位数少:整数部分不改动,小数部分,四舍五入

    new DecimalFormat("0.000").format(13.146)  //结果:13.146

    new DecimalFormat("00.00").format(13.146)  //结果:13.15

    new DecimalFormat("0.00").format(13.146)  //结果:13.15

#: 

    比实际数字的位数多,不变。

    new DecimalFormat("##.##").format(3.14)  //结果:3.14

    new DecimalFormat("#.###").format(3.14)  //结果: 3.14

    new DecimalFormat("##.###").format(3.14)  //结果:3.14

    比实际数字的位数少:整数部分不改动,小数部分,四舍五入

    new DecimalFormat("#.###").format(13.146)  //结果:13.146

    new DecimalFormat("##.##").format(13.146)  //结果:13.15

    new DecimalFormat("#.##").format(13.146)  //结果:13.15

其他的一些用法,(添加百分号,千分号,科学计数法,自定义正负数模板)

可参照
http://jff.iteye.com/blog/576737 http://blog.csdn.net/marcoleung/article/details/176514
以上,如有不妥,请指出!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: