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. [7期]美少妇(msf)和独角兽(unicorn)

    MSF 全称:metasploit-framework    渗透大杀器,黑客工具排名第一(靠前),尤其在内网中.在校期间大学生先跟本校安全部沟通好,一起实验. 得不到校方理解与认可的上SRC或者自己 ...

  2. Eclipse+Pydev环境下出现error “eclipse Non-UTF-8 code”

    文件首行加上”#coding=utf-8”   ,这一句话可控制代码中可输入中文字符

  3. Linux-第一篇linux基本认识

    1.在Linux世界中,一切皆是文件,Linux文件采用级层式的树状目录结构,在此结构中根目录是“/”. 一般linux系统的目录结构如下 目录结构说明 目录 说明 bin 存放二进制可执行文件(ls ...

  4. 2018CCPC吉林赛区(重现赛)

    http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 A题,直接分块,不知道正解是什么. #include<bits/stdc++.h& ...

  5. python学习第三十一天函数的嵌套及函数的作用域

    python函数的嵌套是指在函数里面嵌套另外一个函数,可以嵌套更多,函数一旦套用了另外一个函数,他的作用域就已经形成,可以通过global关键词改变变量的作用域,下面详细说明函数的嵌套及函数的作用域 ...

  6. [烧脑时刻]EL表达式1分钟完事

    一天,程序员A问我,我们比比谁的知识点多,反应快.我回答:那就看谁最快用EL表达式的显示在页面上吧. 话不多说,计时开始. 项目的结构如上,大概就是一个Family的JavaBean,一个jsp页面, ...

  7. Linux:使用awk命令获取文本的某一行,某一列

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点 这里 可以跳转到教程.”. 1.打印文件的第一列( ...

  8. rpmgraph - 显示 RPM 软件包依赖关系图

    SYNOPSIS rpmgraph PACKAGE_FILE ... DESCRIPTION rpmgraph 使用 PACKAGE_FILE 参数来产生一个软件包依赖关系图.每个 PACKAGE_F ...

  9. Codeforces 735E 树形DP

    题意:给你一棵树,你需要在这棵树上选择一些点染成黑色,要求染色之后树中任意节点到离它最近的黑色节点的距离不超过m,问满足这种条件的染色方案有多少种? 思路:设dp[x][i]为以x为根的子树中,离x点 ...

  10. leetcode之删除数组中的重复值(26题)

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...