JavaSE基础之double数据类型的格式化
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数据类型的格式化的更多相关文章
- javase基础笔记2——数据类型和面向对象
API:Application program interface 程序调用一个方法去实现一个功能 正则表达式:regex 用来匹配的 javaEE里边有三大框架 SSH struts spring ...
- JavaSE基础(四)--Java基本数据类型
Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不 ...
- javaSE基础05
javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...
- javaSE基础02
javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...
- javase基础复习攻略《二》
今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...
- 基础1 JavaSe基础
JavaSe基础 1. 九种基本数据类型的大小,以及他们的封装类 boolean 无明确指定 Boolean char 16bits Character byte 8bits Byte short 1 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- javaSE基础04
javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...
- javaSE基础03
javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...
随机推荐
- 【译】第一篇 Replication:复制简介
本篇文章是SQL Server Replication系列的第一篇,详细内容请参考原文. 复制这个词来自拉丁语中的"replicare",意味着重复.Replication des ...
- Django的ContentType框架django_conent_type
Django包含了一个conenttype应用程序,记录了Django项目中安装的所有模型,为当前项目所有基于Django驱动的model提供了更高层次的抽象接口. 一.概述 ContentTypes ...
- docker stack 部署 filebeat
=============================================== 2018/7/21_第3次修改 ccb_warlock 更新 ...
- Flask:redirect()函数
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 重定向,就是在客户端提交请求后,本来是访问A页面,结果,后台给了B页面,当然,B页面中才有需要的信息. 在Flask中 ...
- ASP.NET MVC5 支持PUT 和DELETE
Web.config <configuration> <system.webServer> <handlers> <remove name="Ext ...
- 淘宝开放平台TOP SDK调用对接淘宝或天猫
如果在淘宝/天猫上开了网店,用户自己也有一套自己的管理平台,这时可能会考虑和淘宝进行数据对接.这就需要考虑调用阿里提供的开发接口来推送和接收数据. 对接的方式有2种,一种是通过http接口,另外一种是 ...
- KMP模板及总结
KMP是一种字符串匹配算法,它在时间复杂度上较暴力匹配算法由很大的优势.比如我要找字符串S中是否存在子串P,如果暴力匹配的话,则时间复杂度为O(n*m),而kmp算法时间复杂度为O(n+m). 这里我 ...
- sqlserver sp_spaceused用法
sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused [[@objname =] 'objnam ...
- Python学习笔记:出生日期转化为年龄
在数据挖掘项目中,有时候个体的出生日期包含信息量过大,不适合作为一个有效数据进入模型算法训练,因此有必要把出生日期转化为年龄age,age是一个很好的特征工程指示变量. import pandas a ...
- Python学习笔记:import sys模块(argv、path、platform、exit)
sys模块是Python标准库中自带的一个模块. sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与当前程序之外的系统环境交互,如:Pyth ...