如何保留小数点后N位?
2014年10月17日09:48:39
在做项目中遇到的,要把想显示的数据进行规定小数位的保留,下面写一下用过的方法:
1. BigDecimal 方法(我做项目的时候用的方法)
代码:
java.math.BigDecimal
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(3,BigDecimal.ROUND_HALF_UP); BigDecimal aa = new BigDecimal("3.1");
aa = aa.setScale(3,BigDecimal.ROUND_HALF_UP);
这里面的bd是自定义的变量,即最后取得小数点后若干位的数,3表示小数点后两位
输入结果:
bd=3.142
aa=3.100
2.DecimalFormat 方法
DecimalFormat df1 = new DecimalFormat(“0.0″); //保留1位小数,带前导零 DecimalFormat df2 = new DecimalFormat(“#.#”); //保留1位小数,可以不带前导零 DecimalFormat df3 = new DecimalFormat(“000.00″); //保留2位小数,带前导零 DecimalFormat df4 = new DecimalFormat(“###.##”); //保留2位小数,可以不带前导零
模式中#为可选,存在则出现,不存在则不出现;
模式中0为必须,存在则为具体数字,不存在则为零;
例如:
DecimalFormat df1 = new DecimalFormat("0.0"); //保留1位小数,带前导零
DecimalFormat df2 = new DecimalFormat("#.#"); //保留1位小数,可以不带前导零
DecimalFormat df3 = new DecimalFormat("000.000"); //保留2位小数,带前导零
DecimalFormat df4 = new DecimalFormat("###.###"); //保留2位小数,可以不带前导零
System.out.println(df1.format(31.1556));
System.out.println(df2.format(31.1556));
System.out.println(df3.format(31.1556));
System.out.println(df4.format(31.1556));
System.out.println(df3.format(31.15));
System.out.println(df4.format(31.15));
输出结果:
31.2
31.2
1531.156
1531.156
1531.150
1531.15
结论:
1.df.format(double)的最终输出类型是String类型,但是参数必须为double类型
2.模式中#为可选,存在则出现,不存在则不出现;
模式中0为必须,存在则为具体数字,不存在则为零;
3.整数位假如超过了本身定义的位数,那么就将整数位全部位数都显示出来。
如何保留小数点后N位?的更多相关文章
- 格式化 float 类型,保留小数点后1位
""" 练习 : 小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点, 并用字符串格式化显示出'xx.x%',只保留小数点后1位: &qu ...
- 关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其他位数)
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999 ...
- input内强制保留小数点后两位 位数不足时自动补0
input内强制保留小数点后两位 位数不足时自动补0 小数点后位数超出2位时进行四舍五入 需引入jquery包 1.11.2版本 1 function xiaoshu(x) 2 { 3 var f = ...
- php number_format()保留小数点后几位
[PHP_保留两位小数的相关函数] php保留两位小数并且四舍五入 Php代码 1 $num = 123213.666666; 2 echo sprintf("%.2f ...
- JAVA除法保留小数点后两位的两种方法 Java Math的 floor,round和ceil的总结
floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下 ...
- js保留小数点后N位的方法介绍
js保留小数点后N位的方法介绍 利用toFixed函数 代码如下 复制代码 <script language="javascript"> document.write( ...
- php number_format()保留小数点后几位有效数的函数 千位分组来格式化数字(转)
PHP保留小数点后2位的函数number_format number_format(带小数点的书,小数点后保留的位数) number_format(8.3486,2); //取得小数点后2位有效数/ ...
- C#保留小数点后几位
String.Format("{0:N1}", a) 保留小数点后一位 String.Format("{0:N2}", a) 保留小数点后两位 String.F ...
- Javascript 智能输入数字且保留小数点后三位
html: <input type="text" name="cprice" placeholder="最多保留小数点后三位" onk ...
- mysql格式化小数保留小数点后两位(小数点格式化)
格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法 SELECT FORMAT(12562.6655,2); 结果:12,562.67 ...
随机推荐
- IOS-swift5.1快速入门之旅
快速之旅 传统表明,新语言中的第一个程序应在屏幕上打印“Hello,world!”字样.在Swift中,这可以在一行中完成: print("Hello, world!") // P ...
- python的tesseract库几个重要的命令
在调用tesseract时,最重要的三个参数是 -l, -oem 和 -psm -l 参数控制识别文本的语言.可以通过命令 tesseract --list-langs 查看已经安装的字库. 支持中 ...
- Java相关面试题总结+答案(四)
[反射] 57. 什么是反射? 反射是在运行状态中,对于任意一个类,都能够知道该类的所有属性和方法,对于任意一个对象,都能够获得该对象的任一属性和方法:这种动态获取信息以及动态调用对象的方法的功能称之 ...
- manacher算法学习(求最长回文子串长度)
Manacher总结 我的代码 学习:yyb luogu题目模板 xzy的模板 #include<iostream> #include<cstdlib> #include< ...
- sshpass非交互SSH密码验证
1.yum安装yum install sshpass -y1.1编译安装yum install wget -ywget http://sourceforge.net/projects/sshpass/ ...
- python 注释有哪些和作用
python 单行注释 #作为代表 python 多行注释 ‘’‘ 这是三个单引号注释 ’‘’ “”“ 这是三个双引号注释 ”“”
- SR-IOV
SR-IOV 来源 http://blog.csdn.net/liushen0916/article/details/52423507 摘要: 介绍SR-IOV 的概念.使用场景.VMware 和 K ...
- C语言如何打印出%
1. 敲ASCII码,但系我记不住呀! 2. 两个%%: #include <stdio.h> int main() { printf("%%\n"); printf( ...
- Vue小白篇 - Vue介绍
Vue ?啥是Vue?能干嘛? vue 的介绍 Vue 是一套用于构建用户界面的 渐进式框架 ,与其它大型框架不同的是, Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层 前端三大框 ...
- Android线程间通信的几种实现方式
1. 通过Handler机制: private void one() { handler=new Handler(){ @Override public void handleMessage(Mess ...