java指定小数点位数_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设置小数点格式_java指定小数点后位数格式
转自:http://blog.csdn.net/huaishuming/article/details/17752365 4种方法,都是四舍五入,例: import java.math.BigDeci ...
- 保留小数位数spit函数
保留小数位数 1.输出print函数 System.out.printf("%.2f",3.0); 2.DecimalFormat DecimalFormat d=new Deci ...
- c语言求平均值 保留三位小数,Excel求平均值时,保留小数位数与参与求平均值的个数有关...
在 Excel 中,求平均值用Average函数:它可分用快捷键求平均值.自动求平均值和输入公式求平均值,其中用快捷键求平均值速度最快,并且三种方法都可以对行列.任意单元格.指定区域甚至整个表格求平均 ...
- 总结C#保留小数位数
本文向大家介绍C#保留小数位,可能好多人还不了解C#保留小数位,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.简单的例子 System.Globalization.NumberF ...
- 微信小程序(购物车)--在wxml中设置保留小数位数
微信小程序(购物车)–在wxml中设置保留小数位数 一.在该页面文件夹下新建一个wxs后缀的文件 var filters = {toFix: function (value) {return valu ...
- js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0
1.向下取整 var num1 = 12.10345; var num2 =12.9801; var newnum1=Math.floor(num1) //结果 12 var newnum2= ...
- mysql 保留小数位数
round(x,d) x 需要被精确的数值 d 保留小数位数
- JavaScript保留小数位数代码
描述:JavaScript保留小数位数代码 代码: a.toFixed(位数)
- oracle数据库:查询平均分时,保留小数位数
round(AVG(CGRADE),1) 这个比较简单,大家都知道求平均数用AVG()函数 保留小数位数怎么限制,可以使用round(),'1'就是需要保留的位数
- 保留小数位数、取舍方式计算
/*** 保留小数位数且根据取舍方式* 取舍方式枚举值 4四舍五入 | 1只舍不入 | 0只入不舍*/const getFloatByType = function (num, n, t) {n = ...
最新文章
- aws主机php环境搭建,亚马逊AWS上安装Nginx(Linux,CentOS环境)
- 普元EOS开发积累第一篇(常见错误解决方法) 持续更新
- java编写github监控_【原创工具】github监控工具
- python控制树莓派led_Python 控制树莓派 GPIO 输出:控制 LED 灯
- python算法与数据结构-数据结构中常用树的介绍
- C++虽不会过时,但是真的难啊!
- 【渝粤题库】国家开放大学2021春1425调剂学(本)题目
- react学习(72)--row上面加样式
- 《Timing is Almost Everything》作者访谈
- 利用ESP8266与米思齐从零制作模拟温室大棚--硬件篇
- ZOJ 3332 (哈密顿路竞赛图)
- html怎么引用网页链接,网页中各种链接引用方法小结
- Android FrameWork(AMS,WMS,PMS等)的概念及解析,获取系统服务
- 学生机房虚拟化(六)使用Clonezilla克隆Linux系统
- 《Network Science》:一本关于网络科学的书
- 我的世界java版gamemode指令_我的世界(电脑Java版)简单又好玩指令教程
- [ABC200F]Minflip Summation
- Android Kotlin-协程
- 英语学习——新婚贺词
- 5G技术可能使大量基于SIM卡的IoT设备处于威胁中