JAVA基础—格式化数字DecimalFormat
来源:互联网 发布:c语言最大公约数的算法 编辑:程序博客网 时间:2024/06/04 18:00
在输出数字时,有时需要给数字配上单位,有时需要数字具有一定的精度,也有时需要用科学计数法表示数字。
关键技术剖析:
- java.text.DecimalFormat类专门用于格式化数字。
- 需要为DecimalFormat提供格式化模式Pattern。通过构造方法或者DecimalFormat的applyPattern方法设置模式。Pattern的类型为字符串。
- 调用DecimalFormat的format实例方法,参数为待格式化的数字,该方法使用DecimalFormat对象的pattern对参数进行格式化。
package com.test;import java.text.DecimalFormat;public class TestDecimalFormat { public static void main(String[] args) { DecimalFormat df = new DecimalFormat(); double data = 1203.405607809; System.out.println("格式化之前:" + data); String pattern = "0.0"; // 1203.4 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // 可以在模式后加上自己想要的任何字符,比如单位 pattern = "00000000.000kg"; // 00001203.406kg df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // #表示如果存在就显示字符,如果不存在就不显示,只能用在模式的两头 pattern = "##000.000kg"; // 1203.406kg df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // -表示输出为负数,必须放在最前面 pattern = "-000.000"; // -1203.406 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // ,是分组分隔符 :输出结果12,03.41 pattern = "-0,00.0#"; // -12,03.41 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // E表示输出为指数,”E“之前的字符串是底数的格式,之后的是指数的格式。 pattern = "0.00E000"; // 1.20E003 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // %表示乘以100并显示为百分数,要放在最后 pattern = "0.00%";// 120340.56% df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // "\u2030"表示乘以1000并显示为千分数,要放在最后 pattern = "0.00\u2030"; // 203405.61‰ df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // "\u00A4"货币符号,要放在两端*****1203.41¥ pattern = "0.00\u00A4"; // 1203.41¥ df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // '用于在前缀或或后缀中为特殊字符加引号,要创建单引号本身,请连续使用两个单引号:"# o''clock"。 pattern = "'#'#"; // #1203 // pattern = "'#'" ; //#1203 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); pattern = "# o''clock"; // 1203 o'clock df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // ''放在中间或后面单引号就显示在最后,放在最前面单引号就显示在最前 pattern = "# o''clock.000"; // 1203.406 o'clock pattern = "# .000o''clock"; // 1203.406 o'clock pattern = "# .000''"; // 1203.406 ' pattern = "# .''000"; // 1203.406 ' pattern = "''# .000"; // '1203.406 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); }}
输出结果为:
格式化之前:1203.405607809
采用0.0模式格式化后:1203.4
采用00000000.000kg模式格式化后:00001203.406kg
采用##000.000kg模式格式化后:1203.406kg
采用-000.000模式格式化后:-1203.406
采用-0,00.0#模式格式化后:-12,03.41
采用0.00E000模式格式化后:1.20E003
采用0.00%模式格式化后:120340.56%
采用0.00‰模式格式化后:1203405.61‰
采用0.00¤模式格式化后:1203.41¥
采用’#’#模式格式化后:#1203
采用# o”clock模式格式化后:1203 o’clock
采用”# .000模式格式化后:’1203.406
分析:
- 可以在java.text.DecimalForm的构造方法中制定模式(pattern),也可以使用applyPattern方法设置格式模式。
- 格式模式有特定的规则,不太的字符代表不同的意思,在使用中需要自己设计格式的模式。常用的模式有:“.”、“-”、“#”、“%”、“\u2030”、“,”、“E”、“0”。关于这些模式的具体含义在程序注释中有详细的介绍,也可以参阅JDK的帮助文档。
0 0
- JAVA基础—格式化数字DecimalFormat
- Java DecimalFormat 格式化数字
- java格式化数字DecimalFormat
- java格式化数字DecimalFormat
- Java 数字格式化 DecimalFormat
- java格式化数字DecimalFormat
- Java DecimalFormat 格式化数字
- java格式化数字DecimalFormat
- java格式化数字DecimalFormat
- java格式化数字DecimalFormat
- Java 数字格式化 DecimalFormat
- java格式化数字DecimalFormat
- java格式化数字DecimalFormat
- Java 格式化数字--- DecimalFormat
- java格式化数字DecimalFormat使用
- DecimalFormat (Java 格式化数字 )
- java.text.DecimalFormat()格式化输出数字
- java 数字格式化:小数点、百分比 NumberFormat Decimalformat
- Android Toast
- vi 纵向模式编辑
- 《TCP/IP详解 卷1:协议》第四章 ARP:地址解析协议
- mysql使用中遇到的问题
- iOS开发中断言的使用—NSAssert()
- JAVA基础—格式化数字DecimalFormat
- leetcode---Additive Number
- Linux 内核设备驱动之GPIO驱动之GPIO sysfs支持
- android build failed
- PyPDF2提取pdf书签
- POJ 2665 Trees G++
- ios开发 数组排序——根据数组内字典的指定属性排序
- 10个对开发项目有害的编程习惯
- Hwadee实训--day11