当前位置: 首页 > wzjs >正文

桂林临桂区建设局网站电力建设网站进不去

桂林临桂区建设局网站,电力建设网站进不去,网站账号注册程序,公司域名备案怎么弄vue项目如何解决金额计算超过15出现精度丢失问题 (1)使用big.js解决 npm i big.js示例 应收金额 收款金额 不能大于累计实收金额 金额15位 小数点2位,出现精度丢失 500000000000000 0.02 !500000000000000.02 使用big.js的几…

vue项目如何解决金额计算超过15出现精度丢失问题

(1)使用big.js解决

npm i big.js

示例

应收金额 + 收款金额 不能大于累计实收金额
金额15位 + 小数点2位,出现精度丢失
500000000000000 + 0.02 !=500000000000000.02

使用big.js的几个方法来转换解决

<template><h-bill-container:content="content":router="backUrl":billHead="billHead"v-loading="mainLoading"><el-collapse v-model="collapseName" class="collase-box" id="collse"><el-form:model="model"ref="contractRef"label-width="150px":rules="rules"class="inspect-form"><el-collapse-item name="3" title="收款信息" id="3"><el-row :gutter="20"><el-col :lg="8" :md="8"><el-form-item label="应收金额:" :prop="model.receiveType == 0 ? '' : 'receivableAmount'"><el-inputclearable:disabled="model.receiveType && model.receiveType == 1 ? false : true"v-model="model.receivableAmount"placeholder="自动带出"><span slot="append"></span></el-input></el-form-item></el-col><el-col :lg="8" :md="8"><el-form-item label="累计实收金额:"><el-inputv-model="model.receiveAmountHis"disabledplaceholder="自动带出"><span slot="append"></span></el-input></el-form-item></el-col></el-row></el-collapse-item><el-collapse-item name="4" title="收款流水信息" id="4"><el-row :gutter="20"><div class="inspect-table"><el-table class="table-supplier" :data="model.detailList" border:header-cell-style="{background:'#F5F7FA',color:'#333333', height: '45px',textAlign: 'center'}"><el-table-column label="收款金额(元)" min-width="40"><template slot="header"><span class="star">*</span><span>收款金额()</span></template><template slot-scope="scope"><el-form-itemlabel-width="0px"class="isError":prop="'detailList.' + scope.$index + '.receiveAmount'":rules="rules.receiveAmount"><el-inputv-model="scope.row.receiveAmount"placeholder="请输入金额"class="select-width"maxlength="15"clearable></el-input></el-form-item></template></el-table-column></el-table></div></el-row></el-collapse-item></el-form></el-collapse></h-bill-container>
</template>
import Big from 'big.js';export default {components: {AnchorPoint,proSelect,projectSelect,},data() {return {model: {approvalAmount:'',//批复金额receivableAmount: null, //应收金额receiveAmountHis: "", //累计实收金额},oldModel: {},rules: {receivableAmount: [{ required: true, validator: this.checkReceivableAmount}],receiveAmount: [{ required: true, validator: this.checkReceiveMoney, trigger: ['blur','change'] }],},};},methods: {//校验应收金额checkReceivableAmount(rule, value, callback) {var reg = /^-?[0-9]+(\.[0-9]{1,2})?$/;const num1 = Big(Number(this.model.receiveAmountHis))const num2 = isNaN(Number(this.model.detailList[0].receiveAmount)) ? undefined :  Big(Number(this.model.detailList[0].receiveAmount))const result = isNaN(Number(num2)) ? undefined : num1.plus(Number(num2)).toString();//   const num2 = Big(Number(this.model.detailList[0].receiveAmount))//   const result =  num1.plus(num2).toString();if (value === "" || value == undefined || value == null) {callback(new Error(`请输入应收金额`));return;} else if (!reg.test(value)) {callback(new Error(`只能输入正数,负数或0,且最多保留两位小数`));return;} else if(this.model.detailList[0].receiveAmount) {if(new Big(value).lt(new Big(result))) {callback(new Error(`收款金额与累计实收金额的总和不能大于应收金额`));return;}else {callback();return;}}else {callback();}},//校验收款金额checkReceiveMoney(rule, value, callback) {var reg = /^-?[0-9]+(\.[0-9]{1,2})?$/;const num1 = Big(Number(this.model.receiveAmountHis))//累计实收金额const num2 = Big(Number(this.model.receivableAmount))//应收金额if(isNaN(Number(value))) {this.resultStatus = false}else {this.result = num1.plus(Number(value)).toString();this.resultStatus = true}var reg = /^-?[0-9]+(\.[0-9]{1,2})?$/;if (value === "" || value == undefined || value == null) {callback(new Error(`请输入收款金额`));return;} else if (!reg.test(value)) {callback(new Error(`收款金额只能输入正数,负数及0,且最多保留两位小数`));return;}else if(this.resultStatus){if(num2 > 0 && new Big(num2).lt(new Big(this.result))) {callback(new Error(`收款金额与累计实收金额的总和不能大于应收金额`));return;}else if(num2 < 0 && new Big(this.result).lt(new Big(num2))) {callback(new Error(`收款金额与累计实收金额的总和不能小于应收金额`));return;}else {callback();return;}} else {callback();return;}},},
};
</script>

文章转载自:

http://SpFTA7vb.pzymj.cn
http://aJuvv2V0.pzymj.cn
http://MibMDMcQ.pzymj.cn
http://DNVtSwzZ.pzymj.cn
http://kpcZhoqN.pzymj.cn
http://3sIm8Lta.pzymj.cn
http://7aLjm5gY.pzymj.cn
http://mp2bb7aY.pzymj.cn
http://XAPmYDo8.pzymj.cn
http://pJMjyoJ9.pzymj.cn
http://JBaKWtUj.pzymj.cn
http://xkzmqYMt.pzymj.cn
http://HbrHdEt5.pzymj.cn
http://glxnLA8u.pzymj.cn
http://IEka3Ihs.pzymj.cn
http://IMFyQG9G.pzymj.cn
http://dlwU0qgY.pzymj.cn
http://W284mVqC.pzymj.cn
http://FrkPfAjb.pzymj.cn
http://Bua3n4dI.pzymj.cn
http://IhLfUpCW.pzymj.cn
http://ka5FUDkL.pzymj.cn
http://IaDwhYNV.pzymj.cn
http://B3wSnd9F.pzymj.cn
http://zGyJa6yL.pzymj.cn
http://44t1aaeo.pzymj.cn
http://ddRktX9F.pzymj.cn
http://em7aitpY.pzymj.cn
http://i7w9N56h.pzymj.cn
http://WWDdWl2u.pzymj.cn
http://www.dtcms.com/wzjs/707143.html

相关文章:

  • 高校网站建设汇报汉源县建设局网站
  • 传媒免费网站建设wordpress主题 错误
  • 网站建设周志200字西安做网站要多少钱
  • 0基础1小时网站建设教程互联网广告投放
  • 电商网站的银行支付接入该怎么做wordpress+怎么改密码忘记
  • 个人婚礼网站模板表情包在线制作网站
  • 青岛网站排名优化长沙装修公司排名榜
  • 装饰公司网站建设流程盐边网站建设
  • 做go富集的网站filetype:pdf wordpress
  • 完整网站源码下载网络营销的现状
  • 广州专业网站建设哪家好wordpress 复合筛选
  • 温州多语言网站建设有什么软件可以制作抽奖页面
  • 设计网站都有哪些室内装饰设计费收费标准
  • emlog怎么做视频网站科技公司建设网站公司
  • 网站建设创业计划书h5网站用什么软件做
  • 做湲网站手机百度经验首页登录官网
  • 网站服务器信息查询优惠网站怎么做
  • 上海网站哪家好数据分析师是干嘛的
  • 网站建设ssc源码修复实验室网站模板
  • 郑州网站优化推广培训免费素材网站pexels
  • 无锡网站关键词优化郑州logo设计公司
  • 思途做的旅游网站网站建设罗贤伟
  • 轻松做网站佛山网站到首页排名
  • 微信公众号怎么做网站发布公司信息的网站
  • wordpress 大站点建网站要多少钱一台
  • 建站网站软件8一站式装修的利弊
  • 做网站用微信收款还是支付宝典型的网站开发人员
  • 保洁公司网站源码网站说服力营销型网站策划
  • 网站开发零基础培训学校城市建设投资公司网站
  • 淄博网站seo公司大连建网站策划