|
|
@@ -38,12 +38,25 @@ export const roundToString = (obj: string | number, decimal: number): string =>
|
|
|
return value.toFixed(decimal);
|
|
|
};
|
|
|
|
|
|
-// 取单位前的数字,并转换成整数
|
|
|
-export const getNumberFromUnit = (unit: string): number => {
|
|
|
+const getTimesFromStr = (str: string) => {
|
|
|
const reg = new RegExp('^[0-9]+');
|
|
|
- if (unit && reg.test(unit)) {
|
|
|
- const arr: any = unit.match(reg);
|
|
|
+ if (str && reg.test(str)) {
|
|
|
+ const arr: any = str.match(reg);
|
|
|
return parseInt(arr[0], 10);
|
|
|
}
|
|
|
return 1;
|
|
|
};
|
|
|
+
|
|
|
+// 取单位前的数字,并转换成整数
|
|
|
+export const getNumberFromUnit = (unit: string): number => {
|
|
|
+ if (unit.indexOf('·') !== -1) {
|
|
|
+ // 处理单位为 100m2·10天 的情况
|
|
|
+ const strArr = unit.split('·');
|
|
|
+ let time = 1;
|
|
|
+ for (const s of strArr) {
|
|
|
+ time *= getTimesFromStr(s);
|
|
|
+ }
|
|
|
+ return time;
|
|
|
+ }
|
|
|
+ return getTimesFromStr(unit);
|
|
|
+};
|