最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java指定保留小數(shù)位數(shù)的方法

 更新時(shí)間:2017年03月13日 10:32:55   作者:CodingSean  
本篇文章主要介紹了Java指定保留小數(shù)位數(shù)的方法,很多時(shí)候需要規(guī)定保留的小數(shù)位數(shù),這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。

今天項(xiàng)目中需要更改時(shí)長的顯示方式,規(guī)定必須保留兩位小數(shù),剛才看簡書的時(shí)候正好看到一個指定保留小數(shù)位數(shù)的工具類的文章,在此基礎(chǔ)上,做了一點(diǎn)小修改,用起來更加方便了,有需要的朋友盡管擼走

DecimalUtils 類:

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;

/**
 * Created by Sean on 17/3/10.
 */

public class DecimalUtils {

  /**
   * 按四舍五入保留指定小數(shù)位數(shù),位數(shù)不夠用0補(bǔ)充
   * @param o 格式化前的小數(shù)
   * @param newScale 保留小數(shù)位數(shù)
   * @return 格式化后的小數(shù)
   */
  public static String formatDecimalWithZero(Object o, int newScale) {
    return String.format("%." + newScale + "f", o);
  }

  /**
   * 按四舍五入保留指定小數(shù)位數(shù),位數(shù)不夠用0補(bǔ)充
   * @param d 格式化前的小數(shù)
   * @param newScale 保留小數(shù)位數(shù)
   * @return 格式化后的小數(shù)
   */
  public static String formatDecimalWithZero(double d, int newScale) {
    String pattern = "0.";
    for (int i = 0; i < newScale; i++) {
      pattern += "0";
    }
    DecimalFormat df = new DecimalFormat(pattern);
    return df.format(d);
  }

  /**
   * 按四舍五入保留指定小數(shù)位數(shù),位數(shù)不夠用0補(bǔ)充
   * @param d 格式化前的小數(shù) String形式
   * @param newScale 保留小數(shù)位數(shù)
   * @return 格式化后的小數(shù)
   */
  public static String formatDecimalWithZero(String d, int newScale) {
    String pattern = "0.";
    for (int i = 0; i < newScale; i++) {
      pattern += "0";
    }
    DecimalFormat df = new DecimalFormat(pattern);
    return df.format(Double.valueOf(d));
  }

  /**
   * 按四舍五入保留指定小數(shù)位數(shù),小數(shù)點(diǎn)后僅保留有效位數(shù)
   * @param d 格式化前的小數(shù)
   * @param newScale 保留小數(shù)位數(shù)
   * @return 格式化后的小數(shù)
   */
  public static String formatDecimal(double d, int newScale) {
    String pattern = "#.";
    for (int i = 0; i < newScale; i++) {
      pattern += "#";
    }
    DecimalFormat df = new DecimalFormat(pattern);
    return df.format(d);
  }

  /**
   * 按四舍五入保留指定小數(shù)位數(shù),小數(shù)點(diǎn)后僅保留有效位數(shù)
   * @param d 格式化前的小數(shù)
   * @param newScale 保留小數(shù)位數(shù)
   * @return 格式化后的小數(shù)
   */
  public static String formatDecimal(String d, int newScale) {
    String pattern = "#.";
    for (int i = 0; i < newScale; i++) {
      pattern += "#";
    }
    DecimalFormat df = new DecimalFormat(pattern);
    return df.format(Double.valueOf(d));
  }

  /**
   * 按指定舍入模式保留指定小數(shù)位數(shù)
   * @param d 格式化前的小數(shù)
   * @param newScale 保留小數(shù)位數(shù)
   * @param roundingMode 舍入模式
   *    (RoundingMode.UP始終進(jìn)一/DOWN直接舍棄/
   *     CEILING正進(jìn)負(fù)舍/FLOOR正舍負(fù)進(jìn)/
   *     HALF_UP四舍五入/HALF_DOWN五舍六進(jìn)/
   *     HALF_EVEN銀行家舍入法/UNNECESSARY拋出異常)
   * @return 格式化后的小數(shù)
   */
  public static double formatDecimal(double d, int newScale, RoundingMode roundingMode) {
    BigDecimal bd = new BigDecimal(d).setScale(newScale, roundingMode);
    return bd.doubleValue();
  }

  /**
   * 按指定舍入模式保留指定小數(shù)位數(shù)
   * @param d 格式化前的小數(shù)
   * @param newScale 保留小數(shù)位數(shù)
   * @param roundingMode 舍入模式
   *    (RoundingMode.UP始終進(jìn)一/DOWN直接舍棄/
   *     CEILING正進(jìn)負(fù)舍/FLOOR正舍負(fù)進(jìn)/
   *     HALF_UP四舍五入/HALF_DOWN五舍六進(jìn)/
   *     HALF_EVEN銀行家舍入法/UNNECESSARY拋出異常)
   * @return 格式化后的小數(shù)
   */
  public static double formatDecimal(String d, int newScale, RoundingMode roundingMode) {
    BigDecimal bd = new BigDecimal(Double.valueOf(d)).setScale(newScale, roundingMode);
    return bd.doubleValue();
  }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatisPlus+SpringBoot實(shí)現(xiàn)樂觀鎖功能詳細(xì)流程

    MyBatisPlus+SpringBoot實(shí)現(xiàn)樂觀鎖功能詳細(xì)流程

    樂觀鎖是針對一些特定問題的解決方案,主要解決丟失更新問題,下面這篇文章主要給大家介紹了關(guān)于MyBatisPlus+SpringBoot實(shí)現(xiàn)樂觀鎖功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • java中使用雪花算法(Snowflake)為分布式系統(tǒng)生成全局唯一ID代碼示例

    java中使用雪花算法(Snowflake)為分布式系統(tǒng)生成全局唯一ID代碼示例

    Java雪花算法是一種用于生成唯一ID的算法,它可以在分布式系統(tǒng)中生成全局唯一的ID,這篇文章主要給大家介紹了關(guān)于java中使用雪花算法(Snowflake)為分布式系統(tǒng)生成全局唯一ID的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Java多線程編程中線程鎖與讀寫鎖的使用示例

    Java多線程編程中線程鎖與讀寫鎖的使用示例

    這篇文章主要介紹了Java多線程編程中線程鎖與讀寫鎖的使用示例,鎖是控制程序多線程并發(fā)的重要手段,需要的朋友可以參考下
    2016-04-04
  • 分析Spring框架之設(shè)計(jì)與實(shí)現(xiàn)資源加載器

    分析Spring框架之設(shè)計(jì)與實(shí)現(xiàn)資源加載器

    Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合性角度而言,絕大部分Java應(yīng)用都可以從Spring中受益。今天來分析它的設(shè)計(jì)與實(shí)現(xiàn)資源加載器,從Spring.xml解析和注冊Bean對象
    2021-06-06
  • Java系統(tǒng)變量參數(shù)獲取設(shè)置System.getProperties()的方法

    Java系統(tǒng)變量參數(shù)獲取設(shè)置System.getProperties()的方法

    這篇文章主要介紹了Java系統(tǒng)變量參數(shù)System.getProperties()獲取設(shè)置方法,文末給大家提到了Systm.getenv()與System.getProperties()區(qū)別,需要的朋友可以參考下
    2022-01-01
  • SpringBoot實(shí)現(xiàn)接口冪等性的4種方案

    SpringBoot實(shí)現(xiàn)接口冪等性的4種方案

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)接口冪等性的4種方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • java編程約瑟夫問題實(shí)例分析

    java編程約瑟夫問題實(shí)例分析

    這篇文章主要介紹了java編程約瑟夫問題實(shí)例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • springboot實(shí)現(xiàn)返回文件流

    springboot實(shí)現(xiàn)返回文件流

    這篇文章主要介紹了springboot實(shí)現(xiàn)返回文件流方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • JPA merge聯(lián)合唯一索引無效問題解決方案

    JPA merge聯(lián)合唯一索引無效問題解決方案

    這篇文章主要介紹了JPA merge聯(lián)合唯一索引無效問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java中的內(nèi)存泄露問題和解決辦法

    Java中的內(nèi)存泄露問題和解決辦法

    大家好,本篇文章主要講的是Java中的內(nèi)存泄露問題和解決辦法,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論

武穴市| 渑池县| 南部县| 石泉县| 东丰县| 双江| 城口县| 新昌县| 永善县| 抚远县| 玉溪市| 阜城县| 曲松县| 灵石县| 抚州市| 合山市| 藁城市| 西藏| 芦溪县| 宣威市| 麦盖提县| 莲花县| 广汉市| 黔西县| 团风县| 望城县| 萨嘎县| 县级市| 台前县| 夏津县| 梨树县| 呈贡县| 菏泽市| 乾安县| 剑河县| 宝山区| 刚察县| 桂平市| 湘潭县| 阿图什市| 界首市|