Bläddra i källkod

feat(util): 修改四舍五入方法

zhangweicheng 5 år sedan
förälder
incheckning
a24a468751
2 ändrade filer med 13 tillägg och 10 borttagningar
  1. 1 1
      util/package.json
  2. 12 9
      util/src/math.ts

+ 1 - 1
util/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@sc/util",
-  "version": "1.0.1",
+  "version": "1.0.2",
   "description": "共用的工具包",
   "main": "./dist/index.cjs.js",
   "module": "./dist/index.esm.js",

+ 12 - 9
util/src/math.ts

@@ -7,31 +7,34 @@ export const isNumber = (value: string | number): boolean => {
 
 export const innerRound = (
   num: number,
-  lenght: number,
+  length: number,
   decimal: number
 ): number => {
   let value;
   let pre = 1;
-  if (lenght === 0) return num;
+  if (length === 0) return num;
   if (num < 0) pre = -1; // 负数的时候先变成正数
   num *= pre;
-  const n = 10 ** lenght;
+  const n = 10 ** length;
   value = Math.round(num * n);
-  if (lenght <= decimal) {
+  if (length <= decimal) {
     return (value / n) * pre;
   }
-  value = Math.round(value / 10 ** (lenght - decimal));
+  value = Math.round(value / 10 ** (length - decimal));
   return (value / 10 ** decimal) * pre;
 };
 
-export const roundForObj = (obj: string | number, decimal: number): number => {
+export const roundForObj = (
+  obj: string | number | undefined | null,
+  decimal: number
+): number => {
   let value;
   if (obj === undefined || obj === null || isNaN(obj as number)) return 0;
-  const lenght = 10;
+  const length = 10;
   if (obj === +obj) {
-    value = innerRound(obj, lenght, decimal);
+    value = innerRound(obj, length, decimal);
   } else {
-    value = innerRound(Number(obj), lenght, decimal);
+    value = innerRound(Number(obj), length, decimal);
   }
   return value;
 };