Jelajahi Sumber

number增加原型链(四舍五入保留小数)

lichao 3 tahun lalu
induk
melakukan
6e146c3f2b
2 mengubah file dengan 30 tambahan dan 0 penghapusan
  1. 25 0
      src/api/warehouseBusiness/restructure.js
  2. 5 0
      src/main.js

+ 25 - 0
src/api/warehouseBusiness/restructure.js

@@ -0,0 +1,25 @@
+// 保留小数四舍五入
+export function toSuperFixed(d) {
+  let s=this+"";
+  if(!d)d=0;
+  if(s.indexOf(".")==-1)s+=".";
+  s+=new Array(d+1).join("0");
+  if(new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+(d+1)+"})?)\\d*$").test(s)){
+    let s="0"+RegExp.$2,pm=RegExp.$1,a=RegExp.$3.length,b=true;
+    if(a==d+2){
+      a=s.match(/\d/g);
+      if(parseInt(a[a.length-1])>4){
+        for(var i=a.length-2;i>=0;i--){
+          a[i]=parseInt(a[i])+1;
+          if(a[i]==10){
+            a[i]=0;
+            b=i!=1;
+          }else break;
+        }
+      }
+      s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2");
+
+    }if(b)s=s.substr(1);
+    return (pm+s).replace(/\.$/,"");
+  }return this+"";
+}

+ 5 - 0
src/main.js

@@ -24,6 +24,9 @@ import Pagination from "@/components/Pagination";
 import RightToolbar from "@/components/RightToolbar"
 import echarts from "echarts";
 import '@/utils/dialog.js'
+import {toSuperFixed} from "./api/warehouseBusiness/restructure";
+// 解决浮点数的问题
+import _ from 'lodash';
 
 import Print from '@/components/plugs/print'
 Vue.use(Print) // 注册
@@ -58,6 +61,8 @@ Vue.prototype.msgError = function (msg) {
 Vue.prototype.msgInfo = function (msg) {
   this.$message.info(msg);
 }
+// number原型链绑定四舍五入的方法
+Number.prototype.toSuperFixed = toSuperFixed
 
 // 全局组件挂载
 Vue.component('Pagination', Pagination)