JavaSE基础之double数据类型的格式化

1、double 数据类型的格式化工具类:DoubleFormatUtil.java

 package cn.com.zfc.util;

 import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat; /**
*
* @title DoubleFormatUtil
* @describe double 数据类型的精度确定工具类:四舍五入(保留两位小数)
* @author 张富昌
* @date 2017年4月5日下午9:12:29
*/
public class DoubleFormatUtil {   // 1、使用 String 类的静态 format()方法 来确定 double 数据类型的精度
  public static String userString(double n) {
    return String.format("%.2f", n);
  }   // 2、使用 DecimalFormat 对象的 format()方法
  public static String userDecimalFormat(double n) {
    DecimalFormat decimalFormat = new DecimalFormat("#.00");
    return decimalFormat.format(n);
  }   // 3、使用 BigDecimal 对象的 setScale()方法
  public static double userBigDecimal(double n) {
    BigDecimal bigDecimal = new BigDecimal(n);
    return bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
  }   // 4、使用 NumberFormat 对象的 setMaximumFractionDigits()和format()方法
  public static String userNumberFormat(double n) {
    NumberFormat numberFormat = NumberFormat.getNumberInstance();
    numberFormat.setMaximumFractionDigits(2);
    return numberFormat.format(n);
  }   // 5、使用 Math 类的静态 round()方法
  public static double userMath(double n) {
    return (double) (Math.round(n * 100) / 100.0);
  } }

2、测试double 数据类型的格式化工具类:TestDoubleFormatUtil.java

 package cn.com.zfc.example;

 import cn.com.zfc.util.DoubleFormatUtil;

 /**
*
* @title DoubleFormat
* @describe double 类型数据类型保留精度
* @author 张富昌
* @date 2017年4月5日下午9:10:45
*/
public class TestDoubleFormatUtil {
  public static void main(String[] args) {
    double n = 123.23523;
    System.out.println("原数:" + n);
    System.out.println("StringFormat:" + DoubleFormatUtil.userString(n));
    System.out.println("Math:" + DoubleFormatUtil.userMath(n));
    System.out.println("NumberFormat:" + DoubleFormatUtil.userNumberFormat(n));
    System.out.println("BigDecimal:" + DoubleFormatUtil.userBigDecimal(n));
    System.out.println("DecimalFormat:" + DoubleFormatUtil.userDecimalFormat(n));
  }
}

JavaSE基础之double数据类型的格式化的更多相关文章

  1. javase基础笔记2——数据类型和面向对象

    API:Application program interface  程序调用一个方法去实现一个功能 正则表达式:regex 用来匹配的 javaEE里边有三大框架 SSH struts spring ...

  2. JavaSE基础(四)--Java基本数据类型

    Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不 ...

  3. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  4. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  5. javase基础复习攻略《二》

    今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...

  6. 基础1 JavaSe基础

    JavaSe基础 1. 九种基本数据类型的大小,以及他们的封装类 boolean 无明确指定 Boolean char 16bits Character byte 8bits Byte short 1 ...

  7. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...

  8. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  9. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

随机推荐

  1. 正在载入中......loading页面的几种方法

    网页加载过程中提示“载入中…”,特别是使用动画效果,可以一个“等待”的温馨提示,用户体验很不错.下面介绍几种方法. 第一种: 原理就是,在网页载入时在页面最中间打入一个层上面显示,"网页正在 ...

  2. win10系统下我的电脑右键没有属性

    1.右键点击系统左下角的开始,菜单中点击运行 2.在输入框中输入regeidt,点击确定打开系统的注册表编辑器 3.然后依次打开HKEY_CURRENT_USER\Software\Microsoft ...

  3. 戴尔游匣5577安装 ubuntu/mint

    这里以mint为例. 做好usb启动盘后, 启动到读秒的时候按上下方向键唤出如下选项: 在第二个选项里按 tab 键(上图界面有提示) 进去后有如下界面: 在后面加上参数: nouveau.modes ...

  4. 【2017-10-1】雅礼集训day1

    今天的题是ysy的,ysy好呆萌啊. A: 就是把一个点的两个坐标看成差分一样的东西,以此作为区间端点,然后如果点有边->区间没有交. B: cf原题啊.....均摊分析,简单的那种. 线段树随 ...

  5. C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理

    运行时类型识别(RTTI)的引入有三个作用: 配合typeid操作符的实现: 实现异常处理中catch的匹配过程: 实现动态类型转换dynamic_cast. 1. typeid操作符的实现 1.1. ...

  6. go语言 documentation

    Documentation文档   The Go programming language is an open source project to make programmers more pro ...

  7. IOS使用SourceTree

    一.安装sourceTree 1.下载 访问SourceTree 软件官方下载地址 : https://www.sourcetreeapp.com 下载macos版本 2.安装 安装和windows安 ...

  8. inherited 的研究。

    结论: 1. inherited默认调用的是父类的同名 同参数方法.(常用,如果是同名 同参数方法 比如 overide 的,可以省略,只写个inherited就可.) 2. 子类的方法里可以 inh ...

  9. POJ 2186 Popular Cows(强联通分量)

    题目链接:http://poj.org/problem?id=2186 题目大意:    每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种 ...

  10. javaweb笔记一

    内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制 一个空的构造器 ...