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. 【译】第一篇 Replication:复制简介

    本篇文章是SQL Server Replication系列的第一篇,详细内容请参考原文. 复制这个词来自拉丁语中的"replicare",意味着重复.Replication des ...

  2. Django的ContentType框架django_conent_type

    Django包含了一个conenttype应用程序,记录了Django项目中安装的所有模型,为当前项目所有基于Django驱动的model提供了更高层次的抽象接口. 一.概述 ContentTypes ...

  3. docker stack 部署 filebeat

    =============================================== 2018/7/21_第3次修改                       ccb_warlock 更新 ...

  4. Flask:redirect()函数

    Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 重定向,就是在客户端提交请求后,本来是访问A页面,结果,后台给了B页面,当然,B页面中才有需要的信息. 在Flask中 ...

  5. ASP.NET MVC5 支持PUT 和DELETE

    Web.config <configuration> <system.webServer> <handlers> <remove name="Ext ...

  6. 淘宝开放平台TOP SDK调用对接淘宝或天猫

    如果在淘宝/天猫上开了网店,用户自己也有一套自己的管理平台,这时可能会考虑和淘宝进行数据对接.这就需要考虑调用阿里提供的开发接口来推送和接收数据. 对接的方式有2种,一种是通过http接口,另外一种是 ...

  7. KMP模板及总结

    KMP是一种字符串匹配算法,它在时间复杂度上较暴力匹配算法由很大的优势.比如我要找字符串S中是否存在子串P,如果暴力匹配的话,则时间复杂度为O(n*m),而kmp算法时间复杂度为O(n+m). 这里我 ...

  8. sqlserver sp_spaceused用法

    sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused [[@objname =] 'objnam ...

  9. Python学习笔记:出生日期转化为年龄

    在数据挖掘项目中,有时候个体的出生日期包含信息量过大,不适合作为一个有效数据进入模型算法训练,因此有必要把出生日期转化为年龄age,age是一个很好的特征工程指示变量. import pandas a ...

  10. Python学习笔记:import sys模块(argv、path、platform、exit)

    sys模块是Python标准库中自带的一个模块. sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与当前程序之外的系统环境交互,如:Pyth ...