格式化包括如下内容:
  • 基本用法
  • 金钱格式;
  • 科学计数法;
  • 百分比计数法;
  • 嵌入文本;

    1. package com.sssppp.NumberFormat;
    1. import java.text.DecimalFormat;
    1. public class DecimalFormatExample {
    1. public static void main(String arg[]) {
    1. double piD=3.1415926;
    1. float piF=3.1415926f;
    1. System.out.println("----基本用法----");
    1. DecimalFormat formatter = new DecimalFormat("#.###");
    1. System.out.println("#.###");
    1. System.out.println(formatter.format(piD));
    1. System.out.println(formatter.format(piF));
    1. System.out.println();
    1. formatter.applyPattern("0.00000");
    1. System.out.println("0.00000");
    1. System.out.println(formatter.format(piD));
    1. System.out.println(formatter.format(piF));
    1. System.out.println();
    1. //金钱格式
    1. System.out.println("----金钱格式----");
    1. formatter.applyPattern("#,###,###");
    1. System.out.println("#,###,###");
    1. System.out.println(formatter.format(1300));
    1. System.out.println(formatter.format(123467898));
    1. System.out.println();
    1. formatter.applyPattern("'$'#,###,###");
    1. System.out.println("'$'#,###,###");
    1. System.out.println(formatter.format(1300));
    1. System.out.println(formatter.format(20000));
    1. System.out.println();
    1. //科学计数法
    1. System.out.println("----科学计数法----");
    1. formatter.applyPattern("#.#####E0");
    1. System.out.println("#.#####E0");
    1. System.out.println(formatter.format(299792458));
    1. formatter.applyPattern("00.####E0");
    1. System.out.println("00.####E0");
    1. System.out.println(formatter.format(299792458));
    1. System.out.println();
    1. System.out.println("----嵌入文本----");
    1. formatter.applyPattern("嵌入文本:#.#####E0");
    1. System.out.println("嵌入文本:#.#####E0");
    1. System.out.println(formatter.format(299792458));
    1. System.out.println();
    1. System.out.println("----以百分比方式计数----");
    1. formatter.applyPattern("#.##%");
    1. System.out.println("#.##%");
    1. System.out.println(formatter.format(0.12));
    1. System.out.println();
    1. }
    1. }

输出结果:
    1. ----基本用法----
    1. #.###
    1. 3.142
    1. 3.142
    1. 0.00000
    1. 3.14159
    1. 3.14159
    1. ----金钱格式----
    1. #,###,###
    1. 1,300
    1. 123,467,898
    1. '$'#,###,###
    1. $1,300
    1. $20,000
    1. ----科学计数法----
    1. #.#####E0
    1. 2.99792E8
    1. 00.####E0
    1. 29.9792E7
    1. ----嵌入文本----
    1. 嵌入文本:#.#####E0
    1. 嵌入文本:2.99792E8
    1. ----以百分比方式计数----
    1. #.##%
    1. 12%








【Java数据格式化】使用DecimalFormat 对Float和double进行格式化的更多相关文章

  1. 如果需要精确的答案,请避免使用float和double

    Java中的简单浮点数类型float和double不能够进行运算.不光是Java,在其它很多编程语言中也有这样的问题.在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上 ...

  2. Java中浮点型数据Float和Double进行精确计算的问题

    Java中浮点型数据Float和Double进行精确计算的问题 来源  https://www.cnblogs.com/banxian/p/3781130.html 一.浮点计算中发生精度丢失     ...

  3. 14、Java中用浮点型数据Float和Double进行精确计算时的精度问题

    一.浮点计算中发生精度丢失 大概很多有编程经验的朋友都对这个问题不陌生了:无论你使用的是什么编程语言,在使用浮点型数据进行精确计算时,你都有可能遇到计算结果出错的情况.来看下面的例子. // 这是一个 ...

  4. ☕【Java实战系列】「技术盲区」Double与Float的坑与解决办法以及BigDecimal的取而代之!

    探究背景 涉及诸如float或者double这两种浮点型数据的处理时,偶尔总会有一些怪怪的现象,不知道大家注意过没,举几个常见的栗子: 条件判断超预期 System.out.println( 1f = ...

  5. java float、double精度研究(转)

    在java中运行一下代码System.out.println(2.00-1.10);输出的结果是:0.8999999999999999很奇怪,并不是我们想要的值0.9 再运行如下代码:System.o ...

  6. Java数据类型和MySql数据类型对应一览

    类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N ...

  7. Java SE基础部分——常用类库之NumberFormat(数字格式化)

    数字格式化常用方法:DecimalFormat和NuberFormat. //2016060524 数字格式化学习 //数字格式化 两种方法 一种直接使用NumberFormat,另一种Decimal ...

  8. Java数据类型转换浅析

    Java数据类型转换分为两种:自动类型转换和强制类型转换. 数据类型转换的关键是数据类型相应的表数范围大小 1.自动类型转换: 概念:小范围数据类型会自动转化成大范围数据类型 实例: int a=10 ...

  9. 关于 BigDecimal处理float、double数据

    Big Decimal 在java中,对于float与double中的数据,总会因为精度问题而丢失数据的准确性,也就是说对于两者所处理的得到的值是无限接近于那个数,而并非一个精确数字,而对于电商中所涉 ...

随机推荐

  1. redhat网络基础配置

    添加浮动IP: ifconfig eth0:1 192.168.1.106 IP配置文件: BOOTPROTO: 采用的启动协议,有三种选择: (1) none:不使用启动协议 (2) static: ...

  2. 【堆栈应用一】一个数divided=几个最小质因数的乘积(时间复杂度On)

    此算法由LQD提供

  3. 2014-07-29 Asp.Net 中级工程师 笔试题

    一.选择题    1.下列描述错误的是() A  类不可以被多重继承而接口可以: B  抽象类自身可以定义成员而接口不可以: C  抽象类和接口都不能被实例化: D   一个类可以继承多个基类和多个基 ...

  4. hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的

    因为n>1000000000所以用递归 数组超限, 由递归函数f(n)=(A*f(n-1)+B*f(n-2))%7; 因为是除7的余数 因次一共有7*7=49种情况, 以后的值都和之前的对应相等 ...

  5. C#微信公众号开发-高级接口-之网页授权oauth2.0获取用户基本信息(二)

    C#微信公众号开发之网页授权oauth2.0获取用户基本信息(一) 中讲解了如果通过微信授权2.0snsapi_base获取已经关注用户的基本信息,然而很多情况下我们经常需要获取非关注用户的信息,方法 ...

  6. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

  7. 计算机网络(7)-----TCP协议概述

    传输控制协议(Transmission Control Protocol) 概念 一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中,它 ...

  8. ajax 创建对象验证

    function getValue(){ var str = $("#selectid option:selected").val(); //获得选中的值 var num = $( ...

  9. [GodLove]Wine93 Tarining Round #2

    比赛链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=44704#overview 题目来源: ZOJ Monthly, June 2 ...

  10. [转]概率基础和R语言

    概率基础和R语言 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语 ...