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. 多页面应用_vue

    vue框架 vue:解决前端大型应用的开发,将之前几十个.几百个.更多的HTML页面,集成为1个HTML页面(当页面应用) jQuery:前端方法库. bootstrap:UI组件库. angular ...

  2. iOS学习笔记(1)— UIView 渲染和内容管理

    iOS中应用程序基本上都是基于MVC模式开发的.UIView就是模型-视图-控制器中的视图,在iOS终端上看到的.摸到的都是UIView. UIView在屏幕上定义了一个矩形区域和管理区域内容的接口. ...

  3. CSS overscroll-behavior

    overscroll-behavior新属性解决了在手机上弹出滚动的一些问题,具体内容查看网址:https://www.w3cplus.com/css/overscroll-behavior.html

  4. 禅道CMS 获文件名脚本

    use Net::HTTP::GET; use Base64; ; windowWidth=; windowHeight=; sid=jg9g2mk5kmru46lmd3g2evoc87>; # ...

  5. 金蝶K3,名称或代码在系统中已被使用,由于数据移动,未能继续以NOLOCK方式扫描

    使用金蝶K3时出现:名称或代码在系统中已被使用:错误代码:3604(E14H)source:Microsoft OLE DB provider for SQL SERVERDetail:由于数据移动, ...

  6. 23 The Laws of Reflection 反射定律:反射包的基本原理

    The Laws of Reflection  反射定律:反射包的基本原理 6 September 2011 Introduction 介绍 Reflection in computing is th ...

  7. No.19 selenium学习之路之os模块

    os模块没有什么好说的,直接看实例就可以了 读取文件内容: open只能读文件的内容,不能读文件夹的内容 常用方法: 1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; ...

  8. Git missing in VS Code – No source control providers

    解决办法:管理->设置->搜索[git.enabled]和[git.path],分别设置下即可. 注意"git.enabled: true",只设置git.path是不 ...

  9. Struts 2 - Hello World Example

    As you learnt from the Struts 2 architecture, when you click on a hyperlink or submit an HTML form i ...

  10. KnockoutJs学习笔记(二)

    这篇文章主要用于记录学习Working with observable arrays的测试和体会. Observable主要用于单一个体的修改订阅,当我们在处理一堆个体时,当UI需要重复显示一些样式相 ...