java数字格式化的_JAVA几个常用的数字格式化例子

在java开发中数字格式化是非常的重要了要不出现如a.bbbbbb这种是非常的不错了,今天我们来为各位详细的介绍一下关于在JAVA几个常用的数字格式化一些例子。

在JAVA里,在数据计算时有时候会出现关于“数据精度”的问题,比如2.333333333333333333333之类的数据,这时候我们就要考虑格式化的问题了,我总结了几个,关于小数点方面的。

注意:由于这里说得很简略,因此请参照下面的Demo程序。

格式化数字

在NumberFormat类中为我们提供了格式化4种数字的方法:整数、小数、货币和百分比,通过工厂方法getNumberInstance, getNumberIntance, getCurrencyInstance, getPercentInstance方法获得相应的实例对象就行。例如我们要以字符串表示人民币88888.88元,这样来写就行:

NumberFormat nf = NumberFormat.getCurrencyInstance();

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

定制格式化数字

可是对于稍微复杂一点的需求,NumberFormat就满足不了了,幸好java还提供了DecimalFormat实现定制的格式化。要使用DecimalFormat对象,必须提供给它提供一个格式化的模式(pattern):

String pattern = …

DecimalFormat df = new DecimalFormat(pattern);

或者:

DecimalFormat df = new DecimalFormat();

df. applyPattern(pattern);

然后就调用它的format方法就行了。

例子,

直接上代码:

import java.text.DecimalFormat;

import java.text.NumberFormat;

public class Test {

public static void main (String []a){

DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();

DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance();

DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();

//设置小数点的位数最大2位

df.setMaximumFractionDigits(2);

System.out.println("设置小数点的位数最大2位");

System.out.println("12.1经过转化之后======" df.format(12.1));

System.out.println("12.1454651经过转化之后======" df.format(12.1454651) "\n");

//设置小数点的位数必须2位

df1.applyPattern("0.00");

System.out.println("设置小数点的位数必须2位");

System.out.println("12.1经过转化之后======" df1.format(12.1));

System.out.println("12.1454651经过转化之后======" df1.format(12.1454651) "\n");

//设置百分比

df.applyPattern("##.##%");

System.out.println("设置百分比");

System.out.println("1经过转化之后======" df.format(1));

System.out.println("0.016经过转化之后======" df.format(0.016) "\n");

//设置分组大小

df2.setGroupingSize(4);

System.out.println("设置分组大小");

System.out.println("123456789经过转化之后======" df2.format(123456789));

}

}

运行一下,结果如下:

设置小数点的位数最大2位

12.1经过转化之后======12.1

12.1454651经过转化之后======12.15

设置小数点的位数必须2位

12.1经过转化之后======12.10

12.1454651经过转化之后======12.15

设置百分比

1经过转化之后======100%

0.016经过转化之后======1.6%

设置分组大小

123456789经过转化之后======1,2345,6789

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值