项目问题小记

来源:互联网 发布:淘宝助理搬家 编辑:程序博客网 时间:2024/06/13 22:01

1、情景:对数据库中查出来的浮点数变成百分比,如0.08 ,显示到页面为8%

错误的解决方式: 直接将从数据库中查出的浮点数乘以100; 出来的结果会是很长的浮点数,比如0.08*100 , 就会出现浮点数相乘的问题,得到的结果会是 7.9999999999999% 之类的结果;

正确的解决方法:
处理浮点数相乘(arg1乘以arg2)
function accMul(arg1, arg2) {
var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
try {
m += s1.split(“.”)[1].length;
} catch (e) {
}
try {
m += s2.split(“.”)[1].length;
} catch (e) {
}
return Number(s1.replace(“.”, “”)) * Number(s2.replace(“.”, “”))/ Math.pow(10, m);
}

2、情景:浮点数超过四位会显示为科学计数法

解决方法:思路,将浮点数先转为字符串类型再显示;将浮点数转为字符串得先设置转后最大显示的位数(这样转出来的字符串就不会是 科学计数的字符串),如下
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(4))); // 设置最大小数位
settleRateStr = df.format(oldSettleRate);

3、设置输入框中输入数据的范围(范围0-1,最大四位小数)

jretailUpperLimit : { validator : function(value, param) { if (/^[0-9]+([.]{1}[0-9]{1,4})?$/.test(value)) { return parseFloat(value) > parseFloat(param[0]) && parseFloat(value)
0 0