最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
JAVA几个常用的数字格式化例子
时间:2016-03-18 编辑:简简单单 来源:一聚教程网
在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
相关文章
- 数字格式化 03-12
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24
- SpringBoot常用计量与bean属性校验和进制数据转换规则解析 10-24