全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java指定保留小数位数的方法

今天项目中需要更改时长的显示方式,规定必须保留两位小数,刚才看简书的时候正好看到一个指定保留小数位数的工具类的文章,在此基础上,做了一点小修改,用起来更加方便了,有需要的朋友尽管撸走

DecimalUtils 类:

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

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

public class DecimalUtils {

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

  /**
   * 按四舍五入保留指定小数位数,位数不够用0补充
   * @param d 格式化前的小数
   * @param newScale 保留小数位数
   * @return 格式化后的小数
   */
  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);
  }

  /**
   * 按四舍五入保留指定小数位数,位数不够用0补充
   * @param d 格式化前的小数 String形式
   * @param newScale 保留小数位数
   * @return 格式化后的小数
   */
  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));
  }

  /**
   * 按四舍五入保留指定小数位数,小数点后仅保留有效位数
   * @param d 格式化前的小数
   * @param newScale 保留小数位数
   * @return 格式化后的小数
   */
  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);
  }

  /**
   * 按四舍五入保留指定小数位数,小数点后仅保留有效位数
   * @param d 格式化前的小数
   * @param newScale 保留小数位数
   * @return 格式化后的小数
   */
  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));
  }

  /**
   * 按指定舍入模式保留指定小数位数
   * @param d 格式化前的小数
   * @param newScale 保留小数位数
   * @param roundingMode 舍入模式
   *    (RoundingMode.UP始终进一/DOWN直接舍弃/
   *     CEILING正进负舍/FLOOR正舍负进/
   *     HALF_UP四舍五入/HALF_DOWN五舍六进/
   *     HALF_EVEN银行家舍入法/UNNECESSARY抛出异常)
   * @return 格式化后的小数
   */
  public static double formatDecimal(double d, int newScale, RoundingMode roundingMode) {
    BigDecimal bd = new BigDecimal(d).setScale(newScale, roundingMode);
    return bd.doubleValue();
  }

  /**
   * 按指定舍入模式保留指定小数位数
   * @param d 格式化前的小数
   * @param newScale 保留小数位数
   * @param roundingMode 舍入模式
   *    (RoundingMode.UP始终进一/DOWN直接舍弃/
   *     CEILING正进负舍/FLOOR正舍负进/
   *     HALF_UP四舍五入/HALF_DOWN五舍六进/
   *     HALF_EVEN银行家舍入法/UNNECESSARY抛出异常)
   * @return 格式化后的小数
   */
  public static double formatDecimal(String d, int newScale, RoundingMode roundingMode) {
    BigDecimal bd = new BigDecimal(Double.valueOf(d)).setScale(newScale, roundingMode);
    return bd.doubleValue();
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # 保留小数位数  # Java保留小数位  # java如何将一个float型数的整数部分和小数分别输出显示  # Java四舍五入时保留指定小数位数的五种方式  # 使用java代码实现保留小数点的位数  # Java输出多位小数的三种方法(附代码)  # 四舍五入  # 不够用  # 抛出  # 两位  # 在此基础上  # 时长  # 大家多多  # 便了  # Created  # Sean  # DecimalFormat  # BigDecimal  # RoundingMode  # text  # bd  # UNNECESSARY  # param  # public  # setScale  # br 


相关文章: 如何配置IIS站点权限与局域网访问?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  如何在IIS服务器上快速部署高效网站?  Python多线程使用规范_线程安全解析【教程】  家庭建站与云服务器建站,如何选择更优?  广州商城建站系统开发成本与周期如何控制?  Android自定义listview布局实现上拉加载下拉刷新功能  如何通过商城免费建站系统源码自定义网站主题?  如何在万网ECS上快速搭建专属网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Python路径拼接规范_跨平台处理说明【指导】  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  实现点击下箭头变上箭头来回切换的两种方法【推荐】  建站主机是否等同于虚拟主机?  如何用景安虚拟主机手机版绑定域名建站?  视频网站制作教程,怎么样制作优酷网的小视频?  常州自助建站费用包含哪些项目?  如何使用Golang table-driven基准测试_多组数据测量函数效率  网站图片在线制作软件,怎么在图片上做链接?  如何在景安服务器上快速搭建个人网站?  制作旅游网站html,怎样注册旅游网站?  如何在阿里云完成域名注册与建站?  如何快速生成专业多端适配建站电话?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何在阿里云ECS服务器部署织梦CMS网站?  定制建站价位费用解析与套餐推荐全攻略  如何在云主机上快速搭建网站?  广州建站公司哪家好?十大优质服务商推荐  网站制作费用多少钱,一个网站的运营,需要哪些费用?  ,制作一个手机app网站要多少钱?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  电脑免费海报制作网站推荐,招聘海报哪个网站多?  香港服务器部署网站为何提示未备案?  建站之星2.7模板快速切换与批量管理功能操作指南  如何在阿里云购买域名并搭建网站?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  如何快速生成凡客建站的专业级图册?  兔展官网 在线制作,怎样制作微信请帖?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  微信小程序 五星评分(包括半颗星评分)实例代码  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站之星代理费用多少?最新价格详情介绍  贸易公司网站制作流程,出口贸易网站设计怎么做?  建站之星CMS五站合一模板配置与SEO优化指南  测试制作网站有哪些,测试性取向的权威测试或者网站?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。