数字格式化

① DecimalFormat NumberFormat的一个具体子类,用于格式化十进制数字,DecimalFormat包含一个模式和一组符号:

分为:正数模式、负数模式,这2种模式,每种模式组成:前缀+数字格式+后缀

0 一个数字,必须有数值

# 一个数字,不包括0,可以有数值,也可以没有数值,#表示没有则为空,0表示如果没有则该位补0

.小数点分隔符的占位符

, 分组分隔符的占位符

; 分隔格式

- 缺省负数前缀

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

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

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

DecimalFormat df1 = new DecimalFormat("0.0");

df1.format(12.34);输出结果是12.3

 

② BigDecimal
一、简介

Javajava.math包中提供的APIBigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。floatdouble只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimalBigDecimal所创建的是对象,我们不能使用传统的+-*/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

二、构造器描述

BigDecimal(int)       创建一个具有参数所指定整数值的对象。

BigDecimal(double) 创建一个具有参数所指定双精度值的对象。

BigDecimal(long)    创建一个具有参数所指定长整数值的对象。

BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。

三、方法描述

add(BigDecimal)        BigDecimal对象中的值相加,然后返回这个对象。

subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。

multiply(BigDecimal)  BigDecimal对象中的值相乘,然后返回这个对象。

divide(BigDecimal)     BigDecimal对象中的值相除,然后返回这个对象。

toString()                BigDecimal对象的数值转换成字符串。

doubleValue()          BigDecimal对象中的值以双精度数返回。

floatValue()             BigDecimal对象中的值以单精度数返回。

longValue()             BigDecimal对象中的值以长整数返回。

intValue()               BigDecimal对象中的值以整数返回。

四、格式化及例子

由于NumberFormat类的format()方法可以使用BigDecimal对象作为其参数,可以利用BigDecimal对超出16位有效数字的货币值,百分值,以及一般数值进行格式化控制。

以利用BigDecimal对货币和百分比格式化为例。首先,创建BigDecimal对象,进行BigDecimal的算术运算后,分别建立对货币和百分比格式化的引用,最后利用BigDecimal对象作为format()方法的参数,输出其格式化的货币值和百分比

 

 


版权声明:本文为attack_breast原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。