J2EE保留小数问题
Posted 码出一片天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了J2EE保留小数问题相关的知识,希望对你有一定的参考价值。
- 如果在前台页面,可以直接使用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;
- 如果在后台处理,则使用 java.text.DecimalFormat 类。
DecimalFormat 可以帮我们用最快的速度将数字格式化成我们所需要的样子。
eg: 此例处理 float或double 数据,
1 Double ss = new Double(total); 2 String fen = "0"; 3 if(!ss.equals(new Double(0))){ 4 DecimalFormat decimalFormat = new DecimalFormat("0.0"); 5 fen= decimalFormat.format(total);//format 返回的是字符串 6 } 7 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
常用的例子:1 double pi=3.1415927; //圆周率 2 3 //取一位整数 4 System.out.println(newDecimalFormat("0").format(pi)); //3 5 6 //取一位整数和两位小数 7 System.out.println(newDecimalFormat("0.00").format(pi)); //3.14 8 9 //取两位整数和三位小数,整数不足部分以0填补。 10 System.out.println(new DecimalFormat("00.000").format(pi));// 03.142 11 12 //取所有整数部分 13 System.out.println(newDecimalFormat("#").format(pi)); //3 14 15 //以百分比方式计数,并取两位小数 16 System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16% 17 18 longc=299792458; //光速 19 20 //显示为科学计数法,并取五位小数 21 System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8 22 23 //显示为两位整数的科学计数法,并取四位小数 24 System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7 25 26 //每三位以逗号进行分隔。 27 System.out.println(newDecimalFormat(",###").format(c)); //299,792,458 28 29 //将格式嵌入文本 30 System.out.println(newDecimalFormat("光速大小为每秒,###米。").format(c));
以上是关于J2EE保留小数问题的主要内容,如果未能解决你的问题,请参考以下文章