java 数字的格式化
2013-01-22 20:39
309 查看
java 數字的格式化選擇:java.text.DecimalFormat 类。
其中在格式化的過程中會存在捨入的現象。其默認捨入的方式爲:
如果需要修改捨入方式:通過下面的方法進行:
其中在格式化的過程中會存在捨入的現象。其默認捨入的方式爲:
RoundingMode.HALF_EVEN
如果需要修改捨入方式:通過下面的方法進行:
setRoundingMode(RoundingMode roundingMode) 设置在此 DecimalFormat 中使用的 RoundingMode。以下爲JDK中對於模式字符的介紹。
符号 | 位置 | 本地化? | 含义 |
---|---|---|---|
0 | 数字 | 是 | 阿拉伯数字 |
# | 数字字 | 是 | 阿拉伯数字,如果不存在则显示为 0 |
. | 数字 | 是 | 小数分隔符或货币小数分隔符 |
- | 数字 | 是 | 减号 |
, | 数字 | 是 | 分组分隔符 |
E | 数字 | 是 | 分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。 |
; | 子模式边界 | 是 | 分隔正数和负数子模式 |
% | 前缀或后缀 | 是 | 乘以 100 并显示为百分数 |
\u2030 | 前缀或后缀 | 是 | 乘以 1000 并显示为千分数 |
¤( \u00A4) | 前缀或后缀 | 否 | 货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。 |
' | 前缀或后缀 | 否 | 用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#"将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号: "# o''clock"。 |
import java.text.DecimalFormat; import java.text.ParseException; /** * <br> * * @author:Administrator * @time:2013-1-22 下午08:08:48 * @company oddTech * @version 1.0 * @創建日期:2013-1-22 下午08:08:48 * @修改日期: <br> * */ public class DecimalFormatTest { public static void main(String[] args) throws ParseException { Float testNum = new Float(123234.409729988); DecimalFormat decimalFormat = new DecimalFormat(); System.out.println("默认格式化:"+decimalFormat.format(testNum)); DecimalFormat decimalFormat1 = new DecimalFormat("#####"); System.out.println("'#####' 的格式化:"+decimalFormat1.format(testNum));// 表示不用分组的纯正整数 的格式化 DecimalFormat decimalFormat2 = new DecimalFormat("#####.##"); System.out.println("'#####.##' 的格式化:"+decimalFormat2.format(testNum));// 表示保留两位小数,整数部分不分组的格式化 DecimalFormat decimalFormat3 = new DecimalFormat("####,####"); System.out.println("'####,####' 的格式化:"+decimalFormat3.format(testNum));//表示每四位做分组。 DecimalFormat decimalFormat4 = new DecimalFormat("##,###,####.##"); System.out.println("'##,###,####.##' 的格式化:"+decimalFormat4.format(testNum));// 表示保留两位小数,整数部分每4位做分组。如果使用具有多个分组字符的模式,则最后一个分隔符和整数结尾之间的间隔才是使用的分组大小 Float testNum2 = new Float(11.409729988); DecimalFormat decimalFormat5 = new DecimalFormat("000.0#"); decimalFormat5.setMinimumFractionDigits(6);// 设置某个数字的整数部分中所允许的最大数字位数 System.out.println("'000.0#' 的格式化"+decimalFormat5.format(testNum2));//setMaximumIntegerDigits 有效 DecimalFormat decimalFormat6 = new DecimalFormat(); decimalFormat6.setMinimumIntegerDigits(8);//设置某个数字的整数部分中所允许的最小数字位数 System.out.println("默认格式化 並設置整數部分所允許的最小數字個數爲8:"+decimalFormat6.format(testNum));//setMinimumIntegerDigits 無效 decimalFormat6.setMaximumIntegerDigits(2);//设置某个数字的整数部分中所允许的最小数字位数 System.out.println("默认格式化 並設置整數部分所允許的最大數字個數爲2:"+decimalFormat6.format(testNum));//setMinimumIntegerDigits 無效 System.out.println(decimalFormat6.parseObject("123,234.406"));// 無效 } }
執行結果如下:
默认格式化:123,234.406
'#####' 的格式化:123234 '#####.##' 的格式化:123234.41 '####,####' 的格式化:12,3234 '##,###,####.##' 的格式化:12,3234.41 '000.0#' 的格式化011.409730 默认格式化 並設置整數部分所允許的最小數字個數爲8:00,123,234.406 默认格式化 並設置整數部分所允許的最大數字個數爲2:34.406
相关文章推荐
- java中数字,日期的格式化
- Java 格式化(数字和字符串)
- java 数字格式化
- java格式化数字
- Java编程数字的格式化
- java中格式化输出数字
- java数字格式化
- Java数字格式化、Math类、随机数笔记
- java 数字格式化 NumberFormat类的使用
- Java 数字格式化 笔记
- java格式化数字
- Java 小例子:输出格式化数字
- Java格式化日期、时间、数字、字符串
- java 将一组数字字符串格式化分隔(类似银行卡号分隔)
- Java数字格式化
- JAVA中使用printf(System.out.printf)如何格式化输出数字
- Java格式化数字错误 java.lang.NumberFormatException分析
- java中的数字格式化
- JAVA中数字、日期、字符串的格式化输出
- 数字格式化--Java