`

java.text.DecimalFormat的作用是什么?如何使用?

    博客分类:
  • Java
阅读更多

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。 

要获取具体语言环境的 NumberFormat(包括默认语言环境),可调用 NumberFormat 的某个工厂方法,如 getInstance()。通常不直接调用 DecimalFormat 的构造方法,因为 NumberFormat 的工厂方法可能返回不同于 DecimalFormat 的子类。
 
 // Print out a number using the localized number, integer, currency, 
// and percent format for each locale
 Locale[] locales = NumberFormat.getAvailableLocales();
 double myNumber = -1234.56;
 NumberFormat form;
 for (int j=0; j<4; ++j) {
     System.out.println("FORMAT");
     for (int i = 0; i < locales.length; ++i) {
         if (locales[i].getCountry().length() == 0) {
            continue; // Skip language-only locales
         }
         System.out.print(locales[i].getDisplayName());
         switch (j) {
         case 0:
             form = NumberFormat.getInstance(locales[i]); break;
         case 1:
             form = NumberFormat.getIntegerInstance(locales[i]); break;
         case 2:
             form = NumberFormat.getCurrencyInstance(locales[i]); break;
default:
             form = NumberFormat.getPercentInstance(locales[i]); break;
         }
         if (form instanceof DecimalFormat) {
             System.out.print(": " + ((DecimalFormat) form).toPattern());
         }
         System.out.print(" -> " + form.format(myNumber));
         try {
             System.out.println(" -> " + form.parse(form.format(myNumber)));
} catch (ParseException e) {}
     }
 }

 

 

new java.text.DecimalFormat("#.00").format(sp.area())这样格式化以后就是保留两位小数了

 

DecimalFormat df = new DecimalFormat("0.00");

DecimalFormat df = new DecimalFormat("#.00");

 

没有区别 但如果是0.## 和 0.00的话就可以看出区别了 假设要转换的数字是5 使用0.00转换后结果是5.00 而如果是0.##结果就是5


 

分享到:
评论
1 楼 tianshi1017 2011-12-21  
DecimalFormat df = new DecimalFormat("0.00");

DecimalFormat df = new DecimalFormat("#.00");

是有区别的,主要是针对小于1的小数会有区别
如:0.556
前者会格式为0.56
后者会格式为.56

相关推荐

    java.text.DecimalFormat类十进制格式化

    Java.text.DecimalFormat类十进制格式化方法详解 ...Java.text.DecimalFormat类提供了灵活的十进制格式化方式,满足了大多数十进制格式化的需求,使用格式化模板和格式化规则可以实现各种复杂的十进制格式化操作。

    java.text.DecimalFormat用法详解

    java.text.DecimalFormat用法详解 Java中的java.text.DecimalFormat类提供了格式化数字的功能,通过指定pattern来控制数字的格式。下面将详细介绍DecimalFormat的用法和主要特征。 Pattern DecimalFormat的...

    java 核心API(java.text) 程序例子

    其中,`java.text`包是专门处理文本格式化、国际化和本地化的重要工具集,广泛用于日期、时间、数字、货币、数字格式化等方面。在这个包中,有许多关键的类和接口,例如`Format`、`NumberFormat`、`DateFormat`、`...

    java运算java运算.doc

    java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); df.format(你要格式化的数字); ``` 例如: ```java String result = new java.text.DecimalFormat("#.00").format(3.1415926); ``` 方式三:...

    java(小数点,百分号处理)

    本文将详细介绍如何利用Java中的`java.text.DecimalFormat`和`java.text.NumberFormat`类来处理小数点、百分比等格式的数值。 #### 一、`java.text.DecimalFormat`类 `DecimalFormat`是`NumberFormat`的一个子类,...

    java 注册码生存文件

    java 注册码生存文件 public class MyEclipseGen { private static final String LL = "Decompiling this copyrighted software is a violation... java.text.NumberFormat nf = new java.text.DecimalFormat("000");

    java保留两位小数问题

    java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); String formatted = df.format(3.1415926); // 输出结果为:"3.14" System.out.println(formatted); ``` 在上面的例子中,`"#.00"`表示保留两...

    java 格式化数字 NumberUtil

    import java.text.DecimalFormat; public class NumberUtil { public static String formatDecimal(double number) { DecimalFormat formatter = new DecimalFormat("#,###.##"); return formatter.format...

    Java保留两位小数方法大全

    java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); String result = df.format(3.1415926); ``` **解析**: - `new java.text.DecimalFormat("#.00")` 创建了一个`DecimalFormat`对象,其中`"#.00...

    java使double保留两位小数的多方法共2页.pdf

    `DecimalFormat`是`java.text`包中的一个类,专门用于数字的格式化。通过创建`DecimalFormat`对象并设置模式,我们可以轻松地将double值转换为具有特定小数位数的字符串。 ```java import java.text....

    java中的技巧.pdf

    若要控制输出的精度,可以使用`java.text.DecimalFormat`类。创建一个`DecimalFormat`实例,设置所需的格式模式,如`"###,##0.00"`表示保留两位小数。然后使用`format()`方法将一个`double`值转换为字符串。例如,`...

    Java Double相加出现的怪事

    System.out.println(new java.text.DecimalFormat("0.00").format(4.025)); ``` 输出是 4.02。 BigDecimal: 在《Effective Java》这本书中也提到这个原则,float 和 double 只能用来做科学计算或者是工程计算,...

    Java 加减乘除工具类(解决精度损失问题)

    import java.text.DecimalFormat; public class Calculation { public static final DecimalFormat df = new DecimalFormat("######0.00"); /** * @methodName format2point * @desc 保留两位小数点 * @param...

    Java设计类似微软IP地址输入框

    对于IP地址,我们可以创建一个自定义的格式模型,例如使用`java.text.DecimalFormat`配合正则表达式来验证输入。 以下是创建这样一个输入框的基本步骤: 1. 导入必要的库: ```java import javax.swing.*; import ...

    如何将数字型转换成货币型

    本篇文章将详细介绍如何利用Java中的`java.text.DecimalFormat`类来实现数字到货币格式的转换,并探讨其背后的工作原理与使用技巧。 #### 1. 什么是`DecimalFormat` `DecimalFormat`是Java中用于格式化和解析数字...

    java数据格式化

    例如,以下代码展示了如何使用`DecimalFormat`格式化数字: ```java DecimalFormat df = new DecimalFormat("#,###.##"); double number = 1234567.89; String formattedNumber = df.format(number); ``` 这里,`#...

    Java编写的 计算器

    import java.text.DecimalFormat; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame;

    double类型转换

    总之,使用`java.text.DecimalFormat`类来格式化`double`类型的数值是一种既简单又高效的方法,它不仅可以确保数值的格式符合预期,还可以适应不同的国际化需求。通过合理设置模式字符串,可以灵活地控制输出数字的...

    java课程设计计算器3科学计算器.docx

    此外,`java.text.DecimalFormat`和`java.text.SimpleDateFormat`分别用于格式化数字和日期显示。在科学计算器中,DecimalFormat可能用于确保结果显示为标准的科学计数法格式。 `java.util`包中的`Calendar`和`Date...

Global site tag (gtag.js) - Google Analytics