1. 如果在前台页面,可以直接使用js的toFixed() 方法。
    number.toFixed(x)  可把 Number 四舍五入为指定小数位数的数字。
    参数x :必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

    eg:

    var num = 5.56789;
    var n=num.toFixed();

    输出结果:6;

    var num = 5.56789;
    var n=num.toFixed(2);

    输出结果:5.57;

  2. 如果在后台处理,则使用 java.text.DecimalFormat 类。
    DecimalFormat 可以帮我们用最快的速度将数字格式化成我们所需要的样子。

    eg: 此例处理 float或double 数据,

     Double ss = new Double(total);
    String fen = "0";
    if(!ss.equals(new Double(0))){
    DecimalFormat decimalFormat = new DecimalFormat("0.0");
    fen= decimalFormat.format(total);//format 返回的是字符串
    }
    return fen;

    类中的符号含义: 
          0 一个数字 
          # 一个数字,不包括 0 
          . 小数的分隔符的占位符 
          , 分组分隔符的占位符 
          ; 分隔格式。 
          - 缺省负数前缀。 
          % 乘以 100 和作为百分比显示 
          ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代替十进制分隔符。 
          X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

    eg:实例

    DecimalFormat df1 = new DecimalFormat("0.0"); 
    
    DecimalFormat df2 = new DecimalFormat("#.#"); 
    
    DecimalFormat df3 = new DecimalFormat("000.000"); 
    
    DecimalFormat df4 = new DecimalFormat("###.###"); 
    
    System.out.println(df1.format(12.34)); 
    
    System.out.println(df2.format(12.34)); 
    
    System.out.println(df3.format(12.34)); 
    
    System.out.println(df4.format(12.34)); 

    输出结果:

    12.3 
    
    12.3 
    
    012.340 
    
    12.34

    常用的例子:

     double pi=3.1415927; //圆周率 
       
    //取一位整数    
    System.out.println(newDecimalFormat("0").format(pi));   //3  
      
    //取一位整数和两位小数    
    System.out.println(newDecimalFormat("0.00").format(pi)); //3.14 
       
    //取两位整数和三位小数,整数不足部分以0填补。    
    System.out.println(new DecimalFormat("00.000").format(pi));// 03.142  
      
    //取所有整数部分    
    System.out.println(newDecimalFormat("#").format(pi));   //3  
      
    //以百分比方式计数,并取两位小数    
    System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16% 
         
    longc=299792458;  //光速     //显示为科学计数法,并取五位小数    
    System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8  
      
    //显示为两位整数的科学计数法,并取四位小数    
    System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7 
       
    //每三位以逗号进行分隔。    
    System.out.println(newDecimalFormat(",###").format(c));   //299,792,458 
       
    //将格式嵌入文本    
    System.out.println(newDecimalFormat("光速大小为每秒,###米。").format(c));

J2EE保留小数问题的更多相关文章

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

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

  2. c#保留小数点后位数的方法

    Double dValue = 95.12345; ; string strValue = "95.12345"; string result = ""; re ...

  3. codevs 2988 保留小数 2

    2988 保留小数 2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver       题目描述 Description 这个难度是吸引你点进来的.(其实难度挺 ...

  4. 总结C#保留小数位数及百分号处理

    方法一: ); 方法二: Math.Round() 方法三: double dbdata = 0.55555; string str1 = dbdata.ToString("f2" ...

  5. c++保留小数问题,如有不足或错误,欢迎指出

    #include<iostream> #include <iomanip> using namespace std; int main() { double a; cin> ...

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

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

  7. java中double变量保留小数问题

    (转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点 ...

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

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

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

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

随机推荐

  1. PAT 甲级 1038 Recover the Smallest Number

    https://pintia.cn/problem-sets/994805342720868352/problems/994805449625288704 Given a collection of ...

  2. 利用Vue v-model实现一个自定义的表单组件

    原文请点此链接  http://blog.csdn.net/yangbingbinga/article/details/61915038

  3. HBase 所有命令解析

    COMMAND GROUPS:Group name: generalCommands: status, table_help, version, whoami Group name: ddlComma ...

  4. 【Redis】- 缓存击穿

    什么是缓存击穿 在谈论缓存击穿之前,我们先来回忆下从缓存中加载数据的逻辑,如下图所示 因此,如果黑客每次故意查询一个在缓存内必然不存在的数据,导致每次请求都要去存储层去查询,这样缓存就失去了意义.如果 ...

  5. Maven 3-Maven依赖版本冲突的分析及解决小结 (阿里,美团,京东面试)

    举例A依赖于B及C,而B又依赖于X.Y,而C依赖于X.M,则A除引B及C的依赖包下,还会引入X,Y,M的依赖包(一般情况下了,Maven可通过<scope>等若干种方式控制传递依赖).这里 ...

  6. Lucene笔记二

    lucene 的排序 package cn.itcast.lucene; import java.io.IOException; import org.apache.lucene.document.D ...

  7. NAT穿透(UDP打洞)

    1.NAT(Network Address Translator)介绍 NAT有两大类,基本NAT和NAPT. 1.1.基本NAT 静态NAT:一个公网IP对应一个内部IP,一对一转换 动态NAT:N ...

  8. (七)Redis对键key的操作

    key的全部命令如下: keys pattern # 查找所有符合给定模式pattern的key ,查找所有key 使用[keys *] del key1 key2 ... # 删除给定的一个或多个k ...

  9. 1.61 三角形O(nlogn)做法

     书里给出比较无脑的做法,三个for循环复杂度是n的立方.如果先把数列排序,依次判断连续三个数是否能形成三角形,可以把时间复杂度控制在nlogn. #include<stdio.h> ...

  10. 剑桥offer(41~50)

    41.题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). class Solution { pub ...