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位?的更多相关文章

  1. 格式化 float 类型,保留小数点后1位

    """  练习 :   小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,   并用字符串格式化显示出'xx.x%',只保留小数点后1位: &qu ...

  2. 关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其他位数)

    关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999 ...

  3. input内强制保留小数点后两位 位数不足时自动补0

    input内强制保留小数点后两位 位数不足时自动补0 小数点后位数超出2位时进行四舍五入 需引入jquery包 1.11.2版本 1 function xiaoshu(x) 2 { 3 var f = ...

  4. php number_format()保留小数点后几位

    [PHP_保留两位小数的相关函数] php保留两位小数并且四舍五入 Php代码   1     $num = 123213.666666;  2     echo sprintf("%.2f ...

  5. JAVA除法保留小数点后两位的两种方法 Java Math的 floor,round和ceil的总结

    floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下 ...

  6. js保留小数点后N位的方法介绍

    js保留小数点后N位的方法介绍 利用toFixed函数 代码如下 复制代码 <script language="javascript"> document.write( ...

  7. php number_format()保留小数点后几位有效数的函数 千位分组来格式化数字(转)

    PHP保留小数点后2位的函数number_format number_format(带小数点的书,小数点后保留的位数) number_format(8.3486,2);  //取得小数点后2位有效数/ ...

  8. C#保留小数点后几位

    String.Format("{0:N1}", a) 保留小数点后一位 String.Format("{0:N2}", a) 保留小数点后两位 String.F ...

  9. Javascript 智能输入数字且保留小数点后三位

    html: <input type="text" name="cprice" placeholder="最多保留小数点后三位" onk ...

  10. mysql格式化小数保留小数点后两位(小数点格式化)

    格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法 SELECT FORMAT(12562.6655,2); 结果:12,562.67 ...

随机推荐

  1. JSP 学习笔记1

    JSP 学习笔记   JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例--JSP页面有系统编译成Servlet,Servlet再负责响应用户请求. 1.JSP注释 < ...

  2. < 备考CET6 - 替换词 >

    替换词 名词 结果 Result consequence 人 People, person citizen, individual 发展 Development advancement,progres ...

  3. Js类的静态方法与实例方法区分以及jQuery如何拓展两种方法

    上学时C#老师讲到对象有两类方法,静态方法(Static)和实例方法(非Static),当时不理解静态是为何意,只是强记. 后来从事前端工作,一直在对类(即对象,Js中严格来说没有类的定义,虽众所周知 ...

  4. C++中使用CMake编译管理项目

    CMake是一个跨平台的Makefile生成工具,可以根据特定的规则生成相应的Makefile文件,并对C/C++源代码进行编译和管理. 有一篇博客介绍CMake的使用,比较通俗易懂,链接地址是:Cm ...

  5. Windows下Navicat远程连接Linux下MySQL服务器错误1130

    今天用Navicat在Windows下连接Linux服务器上的MySQL,显示出错误1130. 当然这是在修改了MySQL的配置文件my.cnf的前提下允许远程访问的基础上的,如果没有修改my.cnf ...

  6. tmux多终端工具

    在Linux服务器上没有办法像在桌面系统一样开多个终端,所以有时后进行一些操作不是太方便,所以可以使用tmux工具,创建多个终端. 这里仅仅是简单的介绍一下如何创建多个终端和进行多个终端之间切换,tm ...

  7. python------模块和包及异常处理

    一.模块 所有的模块导入都应该尽量往上写,且顺序为: a:内置模块 b:扩展模块 c:自定义模块 #my_module.py print('from the my_module.py') money= ...

  8. MySQL数据库使用xtrabackup备份实现小例子

    关于MySQL数据库的备份的工具和方式也比较多,本文只简单介绍一些我司一个平台的备份方案.Xtrabackup是由percona开源的免费数据库热备份软件,但是只能对InnoDB数据库和XtraDB存 ...

  9. 自定义 异步 IO 非阻塞框架

    框架一 自定义Web异步非阻塞框架 suosuo.py #!/usr/bin/env python # -*- coding: utf-8 -*-# # __name__ = Web_Framewor ...

  10. wait()和sleep()、sleep()和yield()的区别

    wait()和sleep()的区别主要表现在一下几个方面: 原理不同.sleep()方法是Thread类的静态方法,是线程用来控制自身流程的.它会使线程暂停执行一段时间,把执行机会让给其他线程,等到时 ...