Java中DecimalFormat用法及符号含义

我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子。下面是一个例子:

import java.text.DecimalFormat;

public class TestNumberFormat{
  public static void main(String[]args){
    double pi = 3.1415927; //圆周率
    //取一位整数
    System.out.println(new DecimalFormat("0").format(pi));   //3
    //取一位整数和两位小数
    System.out.println(new DecimalFormat("0.00").format(pi)); //3.14
    //取两位整数和三位小数,整数不足部分以0填补。
    System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
    //取所有整数部分
    System.out.println(new DecimalFormat("#").format(pi));   //3
    //以百分比方式计数,并取两位小数
    System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16%
     long c =299792458;  //光速
    //显示为科学计数法,并取五位小数
    System.out.println(new DecimalFormat("#.#####E0").format(c)); //2.99792E8
    //显示为两位整数的科学计数法,并取四位小数
    System.out.println(new DecimalFormat("00.####E0").format(c)); //29.9792E7
    //每三位以逗号进行分隔。
    System.out.println(new DecimalFormat(",###").format(c));   //299,792,458
    //将格式嵌入文本
    System.out.println(new DecimalFormat("光速大小为每秒,###米。").format(c));

  }

}

DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法,下面给大家介绍一下DecimalFormat类符号的含义。

符号含义:

下列字符用在非本地化的模式中。已本地化的模式使用从此 formatter 的 DecimalFormatSymbols 对象中获得的相应字符,这些字符已失去其特殊状态。两种例外是货币符号和引号,不将其本地化。

到此这篇关于Java中DecimalFormat用法及符号含义的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java DecimalFormat常用方法详解

    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. package com.myk.hash; import java.text.DecimalFormat; public class App { public static void main( String[] args ) { //数字格式化,#和0都是占位符,#:当要格式化的数字位数不足时#会补空白:0:当要格式化的数字位数不足时会补0 DecimalFormat df1 = new Deci

  • Java中DecimalFormat用法详解

    我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text.DecimalFormat; public class TestNumberFormat{ public static void main(String[]args){ doublepi=3.1415927; //圆周率 //取一位整数 System.out.println(newDecimalForm

  • Java DecimalFormat 保留小数位及四舍五入的陷阱介绍

    目录 需求 代码实现 发现问题 RoundingMode.HALF_EVEN 错误的代码测试RoundingMode.HALF_EVEN 正确的代码测试RoundingMode.HALF_EVEN 结论 需求 业务需要导出的Excel的数字内容保留两位小数,并且四舍五入 代码实现 百度一圈所抄袭的代码 DecimalFormat dfScale2 = new DecimalFormat("###.##"); dfScale2.format(1.125D); 发现问题 导出数据很诡异.不

  • java 使用DecimalFormat进行数字的格式化实例详解

    java 使用DecimalFormat进行数字的格式化实例详解 简单实例: //获取DecimalFormat的方法DecimalFormat.getInstance(); public static void test1(DecimalFormat df) { //默认显示3位小数 double d = 1.5555555; System.out.println(df.format(d));//1.556 //设置小数点后最大位数为5 df.setMaximumFractionDigits(

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

    java.text.DecimalFormat类十进制格式化的具体代码,供大家参考,具体内容如下 import java.text.DecimalFormat; class FormatDemo{ public void format1(String pattern,double value){ // 声明一个DecimalFormat对象 DecimalFormat df = new DecimalFormat(pattern); String str = df.format(value);

  • java.text.DecimalFormat用法详解

    简要 DecimalFormat 的 pattern 都包含着 正负子 pattern ,例如 "#,##0.00;(#,##0.00)": /** * Created by Shuai on 2016/7/11. */ public class Main { public static void main(String[] args) { // 正值 BigDecimal bigDecimal = BigDecimal.valueOf(-12211151515151.541666);

  • Java中DecimalFormat用法及符号含义

    我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: import java.text.DecimalFormat; public class TestNumberFormat{ public static void main(String[]args){ double pi = 3.1415927; //圆周率 //取一位整数 System.out.println(new Decima

  • java中DecimalFormat四舍五入用法详解

    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字.它可以支持不同类型的数,包括整数 (123).定点数 (123.4).科学记数法表示的数 (1.23E4).百分数 (12%) 和金额 ($123)这些内容的本地化. 下边先介绍下DecimalFormat的用法: import java.text.*; import java.util.*; public class DecimalFormatDemo { public static void ma

  • Java中正则表达式split()特殊符号使用详解

    特殊情况有 * ^ : | . \ 一.单个符号作为分隔符 String address="上海\上海市|闵行区\吴中路"; String[] splitAddress=address.split("\\"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]); String address="上海|上海市|闵行区|吴中路"; S

  • Java 中This用法的实例详解

     Java 中This用法的实例详解 用类名定义一个变量的时候,定义的只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法. 那们类里面是够也应该有一个引用来访问自己的属性和方法纳? 呵呵,Java提供了一个很好的东西,就是 this 对象,它可以在类里面来引用这个类的属性和方法.先来个简单的例子: public class ThisDemo { String name="Mick"; public void print(String name){ System.out.pr

  • Java中线程用法总结

    本文实例总结了Java中线程用法.分享给大家供大家参考.具体分析如下: 1.线程是基本调度单元.共享进程的资源,如内存和文件句柄.但有自己的pc(程序计数器),stack(线程栈)及本地变量 2.线程的优势: a) 充分利用多处理器 b) 可以简化模型.特定任务给特定线程.如servlets及rmi等框架. c) 对异步事件的简单处理.如socket,nio使用更复杂.而现在的操作系统支持更大数量的线程. d) 界面的更佳响应 3.内部锁:synchronized块.互斥.可重入(reentra

  • Java中getResourceAsStream用法分析

    本文实例讲述了Java中getResourceAsStream用法.分享给大家供大家参考.具体如下: (一)Java中的getResourceAsStream有以下几种情况: 1. Class.getResourceAsStream(String path) : #path 不以'/'开头时默认是从此类所在的包下取资源: #以'/'开头则是从ClassPath根下获取,其原理是通过path构造一个绝对路径,最终还是由ClassLoader来获取资源. 2. Class.getClassLoade

  • Java中channel用法总结

    本文实例总结了Java中channel用法.分享给大家供大家参考.具体分析如下: 1.Channel接口的定义: public interface Channel { public boolean isOpen( ); public void close( ) throws IOException; } 2.Channel的常见类型: FileChannel, SocketChannel, ServerSocketChannel, and DatagramChannel: FileChannel

  • Java中SimpleDateFormat用法详解

    public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (date -> text).语法分析 (text -> date)和标准化. SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动. 但是,希望用 DateFormat 中的 getTimeInstance. getDateInstance 或 getDateTime

随机推荐