Java的setScale与Javascript的toFixed

Javascript的toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法:NumberObject.toFixed(num)
参数:   num    必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0  和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

在Server端(Java)可使用BigDecimal的setScale实现相同的功能

String data = "10223455.3415"; 
BigDecimal decimal = new BigDecimal(data); System.out.println(decimal.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString())‌​‌​;

setScale(2, BigDecimal.ROUND_HALF_UP);

其中,2为精确度,即保留几位小数;BigDecimal.ROUND_HALF_UP为舍入模式;

枚举常量摘要

CEILING 向正无限大方向舍入的舍入模式
DOWN向零方向舍入的舍入模式
FLOOR向负无限大方向舍入的舍入模式
HALF_DOWN向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入
HALF_EVEN向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入
HALF_UP向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入
UNNECESSARY用于断言请求的操作具有精确结果的舍入模式,因此不需要舍入
UP远离零方向舍入的舍入模式

如果需要格式化数字,可使用new DecimalFormat(“格式”);

DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号意义
0一个数位
# 一个数位,前导零和追尾零不显示
.小数点分割位置
组分隔符的位置
负数前缀
%用100乘,并显示百分号

摘于:
http://www.w3school.com.cn/js/jsref_tofixed.asp
http://stackoverflow.com/questions/10631813/javascript-tofixed-equivalent-in-java
http://volzengwen.blog.163.com/blog/static/1968163262011102405939123/