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

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指定保留小数位数的方法相关推荐

  1. java设置小数点格式_java指定小数点后位数格式

    转自:http://blog.csdn.net/huaishuming/article/details/17752365 4种方法,都是四舍五入,例: import java.math.BigDeci ...

  2. 保留小数位数spit函数

    保留小数位数 1.输出print函数 System.out.printf("%.2f",3.0); 2.DecimalFormat DecimalFormat d=new Deci ...

  3. c语言求平均值 保留三位小数,Excel求平均值时,保留小数位数与参与求平均值的个数有关...

    在 Excel 中,求平均值用Average函数:它可分用快捷键求平均值.自动求平均值和输入公式求平均值,其中用快捷键求平均值速度最快,并且三种方法都可以对行列.任意单元格.指定区域甚至整个表格求平均 ...

  4. 总结C#保留小数位数

    本文向大家介绍C#保留小数位,可能好多人还不了解C#保留小数位,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.简单的例子 System.Globalization.NumberF ...

  5. 微信小程序(购物车)--在wxml中设置保留小数位数

    微信小程序(购物车)–在wxml中设置保留小数位数 一.在该页面文件夹下新建一个wxs后缀的文件 var filters = {toFix: function (value) {return valu ...

  6. js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0

    1.向下取整 var num1 = 12.10345; var num2 =12.9801; var newnum1=Math.floor(num1)     //结果 12 var newnum2= ...

  7. mysql 保留小数位数

    round(x,d) x 需要被精确的数值 d 保留小数位数

  8. JavaScript保留小数位数代码

    描述:JavaScript保留小数位数代码 代码: a.toFixed(位数)

  9. oracle数据库:查询平均分时,保留小数位数

    round(AVG(CGRADE),1) 这个比较简单,大家都知道求平均数用AVG()函数 保留小数位数怎么限制,可以使用round(),'1'就是需要保留的位数

  10. 保留小数位数、取舍方式计算

    /*** 保留小数位数且根据取舍方式* 取舍方式枚举值 4四舍五入 | 1只舍不入 | 0只入不舍*/const getFloatByType = function (num, n, t) {n = ...

最新文章

  1. aws主机php环境搭建,亚马逊AWS上安装Nginx(Linux,CentOS环境)
  2. 普元EOS开发积累第一篇(常见错误解决方法) 持续更新
  3. java编写github监控_【原创工具】github监控工具
  4. python控制树莓派led_Python 控制树莓派 GPIO 输出:控制 LED 灯
  5. python算法与数据结构-数据结构中常用树的介绍
  6. C++虽不会过时,但是真的难啊!
  7. 【渝粤题库】国家开放大学2021春1425调剂学(本)题目
  8. react学习(72)--row上面加样式
  9. 《Timing is Almost Everything》作者访谈
  10. 利用ESP8266与米思齐从零制作模拟温室大棚--硬件篇
  11. ZOJ 3332 (哈密顿路竞赛图)
  12. html怎么引用网页链接,网页中各种链接引用方法小结
  13. Android FrameWork(AMS,WMS,PMS等)的概念及解析,获取系统服务
  14. 学生机房虚拟化(六)使用Clonezilla克隆Linux系统
  15. 《Network Science》:一本关于网络科学的书
  16. 我的世界java版gamemode指令_我的世界(电脑Java版)简单又好玩指令教程
  17. [ABC200F]Minflip Summation
  18. Android Kotlin-协程
  19. 英语学习——新婚贺词
  20. 5G技术可能使大量基于SIM卡的IoT设备处于威胁中

热门文章

  1. Nginx 安装部署以及负载均衡
  2. workgroup无法访问.您可能没有权限 完美问答解
  3. Python_day01-----day07
  4. k8s [kubelet-check] Initial timeout of 40s passed.解决方案
  5. linux4 系统下载,SysLinux 4.0.4 下载
  6. 读书笔记_005 《董明珠传》
  7. Dubbo——服务暴露的实现原理
  8. 100部经典中国电影,你看过几部?
  9. VINS-Mono 论文公式推导与代码解析
  10. linux环境下,实现公共聊天室功能