总结之Js日常使用问题解决记录(四)——汇总贴

今天写js发现以前很多遇到的写法,技巧都没有记录下来,很可惜,需要再查资料,现在开贴记录下来。

一、js求和计算丢失精度

一个表单提交的时候有一个input框是需要自动计算其他三个input框的结果自动填充的,但是我发现安装下面的js代码编写会出现精度丢失,类似于出现xx.99999999999这种状况

var dataMoney = parseFloat(mini.get('dataMoney').getValue());
var laborMoney = parseFloat(mini.get('laborMoney').getValue());
var installMoney = parseFloat(mini.get('installMoney').getValue());
if (isNaN(dataMoney) || isNaN(installMoney) || isNaN(laborMoney)) return;
var chargeMoney = (dataMoney + laborMoney + installMoney)

后来的解决方案就是在计算结果后加上toFixed(2)即可,里面的2就是你要精确的小数点后几位

var chargeMoney = (dataMoney + laborMoney + installMoney).toFixed(2);

这样计算出来的结果就是准确的,不会出现精度丢失,记录一下.

二、输入框只能输入正整数

input中加入

onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"

三、对象合并(表单对象合并)

form.on('submit(verifyAssessInfo)', function (data) {
                assessInfoFlag = true;
                if(submitDataField == null || submitDataField == undefined){
                    submitDataField = data.field;
                }else{
                    Object.assign(submitDataField,data.field);
                }
                return false
            });

四、动态显示iconfont图标的Unicode编码图标

发现只显示编码,不显示图标

&#xe781 改成 \ue781  即可

五、科学计数法转数字

java double保存小数,不能超过8位数如:23,084,568.1,它会以科学计数法形式展现(建议使用:BigDecimal)

js处理页面显示

xxx = new Number(value);

function resolveScientificNotation(){ 
	$(".transformation_number").each(function(i,item){
		$(item).val(new Number($(item).val()));
	})
}
resolveScientificNotation();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值