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

摘要:
Java SE基础中双重数据类型的格式化1.双重数据类型格式化工具类:DoubleFormatUtil.java1packagecn.com.zfc。效用;23导入java.math。BigDecimal;4导入java.text。小数格式;5导入java.text。数字格式;67/**8*9*@titleDoubleF

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

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

 1 package cn.com.zfc.util;
 2 
 3 import java.math.BigDecimal;
 4 import java.text.DecimalFormat;
 5 import java.text.NumberFormat;
 6 
 7 /**
 8 * 
 9 * @title DoubleFormatUtil
10 * @describe double 数据类型的精度确定工具类:四舍五入(保留两位小数)
11 * @author 张富昌
12 * @date 2017年4月5日下午9:12:29
13 */
14 public class DoubleFormatUtil {
15 
16   // 1、使用 String 类的静态 format()方法 来确定 double 数据类型的精度
17   public static String userString(double n) {
18     return String.format("%.2f", n);
19   }
20 
21   // 2、使用 DecimalFormat 对象的 format()方法
22   public static String userDecimalFormat(double n) {
23     DecimalFormat decimalFormat = new DecimalFormat("#.00");
24     return decimalFormat.format(n);
25   }
26 
27   // 3、使用 BigDecimal 对象的 setScale()方法
28   public static double userBigDecimal(double n) {
29     BigDecimal bigDecimal = new BigDecimal(n);
30     return bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
31   }
32 
33   // 4、使用 NumberFormat 对象的 setMaximumFractionDigits()和format()方法
34   public static String userNumberFormat(double n) {
35     NumberFormat numberFormat = NumberFormat.getNumberInstance();
36     numberFormat.setMaximumFractionDigits(2);
37     return numberFormat.format(n);
38   }
39 
40   // 5、使用 Math 类的静态 round()方法
41   public static double userMath(double n) {
42     return (double) (Math.round(n * 100) / 100.0);
43   }
44 
45 }

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

 1 package cn.com.zfc.example;
 2 
 3 import cn.com.zfc.util.DoubleFormatUtil;
 4 
 5 /**
 6 * 
 7 * @title DoubleFormat
 8 * @describe double 类型数据类型保留精度
 9 * @author 张富昌
10 * @date 2017年4月5日下午9:10:45
11 */
12 public class TestDoubleFormatUtil {
13   public static void main(String[] args) {
14     double n = 123.23523;
15     System.out.println("原数:" + n);
16     System.out.println("StringFormat:" + DoubleFormatUtil.userString(n));
17     System.out.println("Math:" + DoubleFormatUtil.userMath(n));
18     System.out.println("NumberFormat:" + DoubleFormatUtil.userNumberFormat(n));
19     System.out.println("BigDecimal:" + DoubleFormatUtil.userBigDecimal(n));
20     System.out.println("DecimalFormat:" + DoubleFormatUtil.userDecimalFormat(n));
21   }
22 }
23 
24  

免责声明:文章转载自《JavaSE基础之double数据类型的格式化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇百度地图三种定位方式测试(高精度、低功耗、仅用设备)echart 多次更改数据后,数据更新了,视图没有变化处理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android的string-array数据源简单使用

在Android中,用string-array是一种简单的提取XML资源文件数据的方法。 例子如下: 把相应的数据放到values文件夹的arrays.xml文件里 <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="city"&...

RestTemplate 发送Post 多个参数请求

        MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>(); requestEntity.add("clientFlag", clientFlag); requ...

Dubbo学习笔记12:使用Dubbo中需要注意的一些事情

指定方法异步调用 前面我们讲解了通过设置ReferenceConfig的setAsync()方法来让整个接口里的所有方法变为异步调用,那么如何指定某些方法为异步调用呢?下面讲解下如何正确地设置默写方法为异步调用。 假如你只需要设置接口里的方法sayHello为异步调用,那么可以使用下面方式: final List<MethodConfig> a...

C#-微信公众平台接口-上传临时素材

最烦做微信公众平台的东西。。文档说得不清不楚,又没示例代码,只能自己 慢慢搜索,弄了一晚上,基本弄出来了,把本地的图片上传到微信的临时素材那里,返回媒体ID,用于其他操作,代码如下 :(自己导入相应的类System.Net.Http,JSON解析用的LitJson)         /// <summary>        /// 上传临时素材...

Consul 服务的注册和发现

Consul是Hashicorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。Consul是分布式的,高可用的,可横向扩展的。 Consul 的主要特点有:Service Discovery : 服务注册与发现,Consul 的客户端可以做为一个服务注册到 Consul,也可以通过 Consul 来查找特定的服务提供者,并且根据提供的信息进行调用...

Android之OkHttp详解(非原创)

文章大纲 一、OkHttp简介二、OkHttp简单使用三、OkHttp封装四、项目源码下载 一、OkHttp简介 1. 什么是OkHttp   一般在Java平台上,我们会使用Apache HttpClient作为Http客户端,用于发送 HTTP 请求,并对响应进行处理。比如可以使用http客户端与第三方服务(如SSO服务)进行集成,当然还可以爬取网...