zoukankan      html  css  js  c++  java
  • JavaSE基础之double数据类型的格式化

    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  
  • 相关阅读:
    QT 读写sqllite数据库
    SQLLite 简介
    arcengine 开发经典帖 【强烈推荐仔细研读】
    IHookHelper的用法
    ArcSDE中Compress与Compact的区别
    以Network Dataset(网络数据集)方式实现的最短路径分析
    ArcGIS网络概述
    ClassLoader.getResourceAsStream(name);获取配置文件的方法
    Xml中SelectSingleNode方法,xpath查找某节点用法
    Spring整合JUnit4测试使用注解引入多个配置文件
  • 原文地址:https://www.cnblogs.com/zfc-java/p/6670758.html
Copyright © 2011-2022 走看看