1) 增加js浮点运算准确度公用方法
This commit is contained in:
parent
86d1c00b25
commit
a481802501
|
@ -48,7 +48,6 @@
|
||||||
"less": "^3.9.0",
|
"less": "^3.9.0",
|
||||||
"less-loader": "^4.1.0",
|
"less-loader": "^4.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mathjs": "^11.1.0",
|
|
||||||
"mini-css-extract-plugin": "0.11.3",
|
"mini-css-extract-plugin": "0.11.3",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"optimize-css-assets-webpack-plugin": "5.0.4",
|
"optimize-css-assets-webpack-plugin": "5.0.4",
|
||||||
|
|
|
@ -1,435 +0,0 @@
|
||||||
import React, { forwardRef, useImperativeHandle, useRef } from "react";
|
|
||||||
import { useSetState } from "ahooks";
|
|
||||||
import { FixedSizeList } from "react-window";
|
|
||||||
import {
|
|
||||||
Card,
|
|
||||||
DateRangePicker,
|
|
||||||
Button,
|
|
||||||
LayoutRow as Row,
|
|
||||||
LayoutCol as Col,
|
|
||||||
LayoutGrid as Grids,
|
|
||||||
Select,
|
|
||||||
} from "zent";
|
|
||||||
import moment from "moment";
|
|
||||||
|
|
||||||
import Ipt from "@/components/input/main";
|
|
||||||
import Form from "@/components/form/main";
|
|
||||||
import FormItem from "@/components/form-item/main";
|
|
||||||
import Grid from "@/components/gird/main.js";
|
|
||||||
|
|
||||||
import "./style.less";
|
|
||||||
|
|
||||||
const tableColumn = [
|
|
||||||
{
|
|
||||||
title: "商品编号",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "商品名称",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "官方价",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "合同单价",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "库存数量",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "批次号",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "总预算",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "有效时间段",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "创建时间",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "类型",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "上游平台",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "操作",
|
|
||||||
name: "key_code",
|
|
||||||
prop: "key_code",
|
|
||||||
type: "normal",
|
|
||||||
width: "auto",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const rules = {
|
|
||||||
name: [{ type: "required", message: "请输入批次名称" }],
|
|
||||||
};
|
|
||||||
|
|
||||||
const UseCouponAddEdit = forwardRef((props, ref) => {
|
|
||||||
/**
|
|
||||||
* type 入口类型 0优惠券新增 1计划、key批次 (是否显示两个字段)
|
|
||||||
*/
|
|
||||||
const { type = 0 } = props;
|
|
||||||
const [state, setState] = useSetState({
|
|
||||||
setup1_title: "基本信息",
|
|
||||||
setup2_title: "发放规则",
|
|
||||||
setup3_title: "商品范围",
|
|
||||||
disabled: false,
|
|
||||||
model: {
|
|
||||||
name: "",
|
|
||||||
date_time: "",
|
|
||||||
},
|
|
||||||
tableData: [],
|
|
||||||
tableHeight: 500,
|
|
||||||
page: 1,
|
|
||||||
dataCount: 0,
|
|
||||||
rankoptions: [],
|
|
||||||
rank: [],
|
|
||||||
newGoodsBtnLoading: false,
|
|
||||||
newGoldLoading: false,
|
|
||||||
lodgingTable: true,
|
|
||||||
plan_OPTIONS: [
|
|
||||||
{
|
|
||||||
key: "1",
|
|
||||||
text: `plan 1`,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
key_OPTIONS: [
|
|
||||||
{
|
|
||||||
key: "1",
|
|
||||||
text: `key 1`,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
useImperativeHandle(ref, () => ({
|
|
||||||
submit: submit,
|
|
||||||
}));
|
|
||||||
|
|
||||||
const form_el = useRef(null);
|
|
||||||
const table_el = useRef(null);
|
|
||||||
|
|
||||||
const submit = () => {
|
|
||||||
let el = form_el.current.validator();
|
|
||||||
console.log("el =>", el);
|
|
||||||
};
|
|
||||||
|
|
||||||
const onReturn = () => {};
|
|
||||||
const onChangeCombinedDate = () => {};
|
|
||||||
const onDisabledRange = (date, type) => {
|
|
||||||
let disabled = false;
|
|
||||||
if (type == "end") {
|
|
||||||
disabled = moment(date.getTime()).add(1, "days") <= new Date().getTime();
|
|
||||||
}
|
|
||||||
if (type == "start") {
|
|
||||||
disabled = date.getTime() <= new Date().getTime();
|
|
||||||
}
|
|
||||||
return disabled;
|
|
||||||
};
|
|
||||||
const onPageChange = () => {};
|
|
||||||
const onCountChange = () => {};
|
|
||||||
const selectionFun = () => {};
|
|
||||||
const onRankChange = () => {};
|
|
||||||
const addProduct = () => {};
|
|
||||||
const renderOptionList = (options, renderOption) => {
|
|
||||||
return (
|
|
||||||
<FixedSizeList
|
|
||||||
height={8.5 * 32}
|
|
||||||
itemCount={options.length}
|
|
||||||
itemSize={32}
|
|
||||||
width={240}
|
|
||||||
>
|
|
||||||
{({ index, style }) => (
|
|
||||||
<div style={style}>{renderOption(options[index], index)}</div>
|
|
||||||
)}
|
|
||||||
</FixedSizeList>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
const plan_key_formEl = () => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<FormItem labelname="归属计划" prop="gs_plan">
|
|
||||||
<Select
|
|
||||||
clearable
|
|
||||||
options={state.plan_OPTIONS}
|
|
||||||
placeholder="选择一项"
|
|
||||||
renderOptionList={renderOptionList}
|
|
||||||
/>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem labelname="归属key" prop="gs_key">
|
|
||||||
<Select
|
|
||||||
clearable
|
|
||||||
options={state.key_OPTIONS}
|
|
||||||
placeholder="选择一项"
|
|
||||||
renderOptionList={renderOptionList}
|
|
||||||
/>
|
|
||||||
</FormItem>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
return (
|
|
||||||
<div className="coupon-box">
|
|
||||||
<Form model={state.model} rules={rules} ref={form_el}>
|
|
||||||
<Card style={{ margin: "10px auto" }} title={state.setup1_title}>
|
|
||||||
{/* 是否显示两个字段 */}
|
|
||||||
{type === 1 ? plan_key_formEl() : null}
|
|
||||||
|
|
||||||
<FormItem labelname="批次名称" prop="name">
|
|
||||||
<Ipt
|
|
||||||
onChange={(e) => {
|
|
||||||
setState({ model: { name: e } });
|
|
||||||
}}
|
|
||||||
onClearItem={() => {
|
|
||||||
setState({ model: { name: "" } });
|
|
||||||
}}
|
|
||||||
value={state.model.name}
|
|
||||||
placeholder={"请输入"}
|
|
||||||
labelWidth={"0px"}
|
|
||||||
maxLength={20}
|
|
||||||
height={"36px"}
|
|
||||||
countShow={true}
|
|
||||||
width={"520px"}
|
|
||||||
alignment={"left"}
|
|
||||||
/>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem labelname="生效时间段" prop="date_time">
|
|
||||||
<DateRangePicker
|
|
||||||
className="zent-datepicker-plan"
|
|
||||||
showTime={{
|
|
||||||
format: "HH:mm:ss",
|
|
||||||
defaultTime: [moment().format("HH:mm:ss"), "23:59:59"],
|
|
||||||
}}
|
|
||||||
format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
disabled={[state.disabled, false]}
|
|
||||||
value={state.model.date_time}
|
|
||||||
onChange={(e) => {
|
|
||||||
onChangeCombinedDate(e);
|
|
||||||
}}
|
|
||||||
disabledDate={onDisabledRange}
|
|
||||||
/>
|
|
||||||
</FormItem>
|
|
||||||
</Card>
|
|
||||||
<Card style={{ margin: "10px auto" }} title={state.setup2_title}>
|
|
||||||
<Grids>
|
|
||||||
<Row>
|
|
||||||
<Col span={3}>
|
|
||||||
<p>
|
|
||||||
面额 <span className="mustwrite">*</span>
|
|
||||||
</p>
|
|
||||||
</Col>
|
|
||||||
<Col span={2}>
|
|
||||||
<div className="justify-box">
|
|
||||||
<span>满</span>
|
|
||||||
<Ipt
|
|
||||||
onChange={(e) => {
|
|
||||||
setState({ model: { name: e } });
|
|
||||||
}}
|
|
||||||
onClearItem={() => {
|
|
||||||
setState({ model: { name: "" } });
|
|
||||||
}}
|
|
||||||
value={state.model.name}
|
|
||||||
placeholder={"请输入"}
|
|
||||||
labelWidth={"0px"}
|
|
||||||
maxLength={20}
|
|
||||||
height={"36px"}
|
|
||||||
countShow={false}
|
|
||||||
width={"130px"}
|
|
||||||
alignment={"left"}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
|
|
||||||
<Col span={3}>
|
|
||||||
<div className="justify-box">
|
|
||||||
<span style={{ paddingRight: "10px" }}>减</span>
|
|
||||||
<Ipt
|
|
||||||
onChange={(e) => {
|
|
||||||
setState({ model: { name: e } });
|
|
||||||
}}
|
|
||||||
onClearItem={() => {
|
|
||||||
setState({ model: { name: "" } });
|
|
||||||
}}
|
|
||||||
value={state.model.name}
|
|
||||||
placeholder={"请输入"}
|
|
||||||
labelWidth={"0px"}
|
|
||||||
maxLength={20}
|
|
||||||
height={"36px"}
|
|
||||||
countShow={false}
|
|
||||||
width={"130px"}
|
|
||||||
alignment={"left"}
|
|
||||||
unit="元"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Grids>
|
|
||||||
|
|
||||||
<FormItem labelname="发放总量" prop="name">
|
|
||||||
<Ipt
|
|
||||||
onChange={(e) => {
|
|
||||||
setState({ model: { name: e } });
|
|
||||||
}}
|
|
||||||
onClearItem={() => {
|
|
||||||
setState({ model: { name: "" } });
|
|
||||||
}}
|
|
||||||
value={state.model.name}
|
|
||||||
placeholder={"请输入"}
|
|
||||||
labelWidth={"0px"}
|
|
||||||
maxLength={20}
|
|
||||||
height={"36px"}
|
|
||||||
countShow={false}
|
|
||||||
width={"520px"}
|
|
||||||
alignment={"left"}
|
|
||||||
unit="个"
|
|
||||||
/>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<FormItem labelname="总预算" prop="name">
|
|
||||||
<Ipt
|
|
||||||
onChange={(e) => {
|
|
||||||
setState({ model: { name: e } });
|
|
||||||
}}
|
|
||||||
onClearItem={() => {
|
|
||||||
setState({ model: { name: "" } });
|
|
||||||
}}
|
|
||||||
value={state.model.name}
|
|
||||||
placeholder={"请输入"}
|
|
||||||
labelWidth={"0px"}
|
|
||||||
maxLength={20}
|
|
||||||
height={"36px"}
|
|
||||||
countShow={false}
|
|
||||||
width={"520px"}
|
|
||||||
alignment={"left"}
|
|
||||||
unit="元"
|
|
||||||
/>
|
|
||||||
</FormItem>
|
|
||||||
</Card>
|
|
||||||
<Card style={{ margin: "10px auto" }} title={state.setup3_title}>
|
|
||||||
<FormItem labelname="商品范围" prop="rank" id="rank">
|
|
||||||
<div className="goods-boxs">
|
|
||||||
<Select
|
|
||||||
options={state.rankoptions}
|
|
||||||
multiple
|
|
||||||
value={state.rank}
|
|
||||||
placeholder="选择一项"
|
|
||||||
width={405}
|
|
||||||
onChange={(e) => {
|
|
||||||
onRankChange(e);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
style={{ marginLeft: "20px" }}
|
|
||||||
loading={state.newGoodsBtnLoading}
|
|
||||||
onClick={() => {
|
|
||||||
addProduct("addProduct");
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
新建商品
|
|
||||||
</Button>
|
|
||||||
<Button
|
|
||||||
type="primary"
|
|
||||||
style={{ marginLeft: "20px" }}
|
|
||||||
loading={state.newGoldLoading}
|
|
||||||
onClick={() => {
|
|
||||||
addProduct("addKnockGold");
|
|
||||||
}}
|
|
||||||
disabled={
|
|
||||||
!JSON.parse(sessionStorage.getItem("isEarlyWarningMan"))
|
|
||||||
}
|
|
||||||
>
|
|
||||||
新建立减金
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</FormItem>
|
|
||||||
|
|
||||||
<Grid
|
|
||||||
spliteColor={"#fff"}
|
|
||||||
tableData={state.tableData}
|
|
||||||
Column={tableColumn}
|
|
||||||
countbarVisible={false}
|
|
||||||
maxheight={state.tableHeight}
|
|
||||||
isSwitch={false}
|
|
||||||
page={state.page}
|
|
||||||
ref={table_el}
|
|
||||||
dataCount={state.dataCount}
|
|
||||||
pageChange={(e) => onPageChange(e)}
|
|
||||||
emptyText={
|
|
||||||
state.lodgingTable
|
|
||||||
? "抱歉,暂无相关数据记录"
|
|
||||||
: "查询 请输入【分销商】或【计划名称】或【key】进行查询"
|
|
||||||
}
|
|
||||||
countChange={(e) => onCountChange(e)}
|
|
||||||
checkChange={(data) => selectionFun(data)}
|
|
||||||
ComponentHandler={(com, rowData) => {
|
|
||||||
if (com == "dates") {
|
|
||||||
return (
|
|
||||||
<span>
|
|
||||||
{rowData.begin_time} 至 {rowData.end_time}
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</Card>
|
|
||||||
</Form>
|
|
||||||
|
|
||||||
<div className="step-btn-group">
|
|
||||||
<Button type="primary" onClick={() => submit()}>
|
|
||||||
提交审核
|
|
||||||
</Button>
|
|
||||||
<Button type="normal" onClick={() => onReturn()}>
|
|
||||||
取消
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
export default UseCouponAddEdit;
|
|
|
@ -1,17 +1,8 @@
|
||||||
import React, { forwardRef, useImperativeHandle, useRef } from "react";
|
import React, { forwardRef, useImperativeHandle, useRef } from "react";
|
||||||
import { useSetState } from "ahooks";
|
import { useSetState } from "ahooks";
|
||||||
import { FixedSizeList } from "react-window";
|
import { FixedSizeList } from "react-window";
|
||||||
import * as math from "mathjs"; // https://github.com/josdejong/mathjs
|
import { isAmount } from "@/tools/validate";
|
||||||
import { isAmount, isPosIntNumber } from "@/tools/validate";
|
import { Card, DateRangePicker, Button, Select } from "zent";
|
||||||
import {
|
|
||||||
Card,
|
|
||||||
DateRangePicker,
|
|
||||||
Button,
|
|
||||||
LayoutRow as Row,
|
|
||||||
LayoutCol as Col,
|
|
||||||
LayoutGrid as Grids,
|
|
||||||
Select,
|
|
||||||
} from "zent";
|
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
|
||||||
import Ipt from "@/components/input/main";
|
import Ipt from "@/components/input/main";
|
||||||
|
@ -259,11 +250,6 @@ const UseCouponAddEdit = forwardRef((props, ref) => {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
function print(value) {
|
|
||||||
const precision = 14;
|
|
||||||
console.log(math.format(value, precision));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 判断是否可用
|
// 判断是否可用
|
||||||
const setIsRestrict = () => {
|
const setIsRestrict = () => {
|
||||||
if (isAmount(form_rule_data.reduce) && isAmount(form_rule_data.full)) {
|
if (isAmount(form_rule_data.reduce) && isAmount(form_rule_data.full)) {
|
||||||
|
@ -275,17 +261,19 @@ const UseCouponAddEdit = forwardRef((props, ref) => {
|
||||||
|
|
||||||
// 计算总预算
|
// 计算总预算
|
||||||
const setQuantity = () => {
|
const setQuantity = () => {
|
||||||
print(math.multiply(math.bignumber(10), math.bignumber(10000000)));
|
if (isAmount(form_rule_data.reduce) && isAmount(form_rule_data.restrict)) {
|
||||||
|
let num = Math.mulNum(
|
||||||
// subtract减法 multiply乘法
|
Number(form_rule_data.reduce),
|
||||||
let num = math.multiply(
|
Number(form_rule_data.restrict)
|
||||||
Number(form_rule_data.restrict),
|
);
|
||||||
Number(form_rule_data.reduce)
|
setForm_rule_data({
|
||||||
);
|
quantity: num,
|
||||||
num = math.format(num, { precision: 14 });
|
});
|
||||||
setForm_rule_data({
|
} else {
|
||||||
quantity: num,
|
setForm_rule_data({
|
||||||
});
|
quantity: "",
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div className="coupon-box">
|
<div className="coupon-box">
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
/**
|
||||||
|
* 加法运算
|
||||||
|
* @param {Number} a
|
||||||
|
* @param {Number} b
|
||||||
|
* @example Math.addNum(0.3 , 0.6) // => 0.9
|
||||||
|
*/
|
||||||
|
const addNum = (a, b) => {
|
||||||
|
var c, d, e
|
||||||
|
try {
|
||||||
|
c = a.toString().split('.')[1].length
|
||||||
|
} catch (f) {
|
||||||
|
c = 0
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
d = b.toString().split('.')[1].length
|
||||||
|
} catch (f) {
|
||||||
|
d = 0
|
||||||
|
}
|
||||||
|
return (e = Math.pow(10, Math.max(c, d))), (mulNum(a, e) + mulNum(b, e)) / e
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 减法运算
|
||||||
|
* @param {Number} a
|
||||||
|
* @param {Number} b
|
||||||
|
* @example Math.subNum(0.3 , 0.2) // => 0.1
|
||||||
|
*/
|
||||||
|
const subNum = (a, b) => {
|
||||||
|
var c, d, e
|
||||||
|
try {
|
||||||
|
c = a.toString().split('.')[1].length
|
||||||
|
} catch (f) {
|
||||||
|
c = 0
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
d = b.toString().split('.')[1].length
|
||||||
|
} catch (f) {
|
||||||
|
d = 0
|
||||||
|
}
|
||||||
|
return (e = Math.pow(10, Math.max(c, d))), (mulNum(a, e) - mulNum(b, e)) / e
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 乘法运算
|
||||||
|
* @param {Number} a
|
||||||
|
* @param {Number} b
|
||||||
|
* @example Math.mulNum(0.3 , 1.5) // => 0.45
|
||||||
|
*/
|
||||||
|
const mulNum = (a, b) => {
|
||||||
|
var c = 0,
|
||||||
|
d = a.toString(),
|
||||||
|
e = b.toString()
|
||||||
|
try {
|
||||||
|
c += d.split('.')[1].length
|
||||||
|
} catch (f) {}
|
||||||
|
try {
|
||||||
|
c += e.split('.')[1].length
|
||||||
|
} catch (f) {}
|
||||||
|
return (Number(d.replace('.', '')) * Number(e.replace('.', ''))) / Math.pow(10, c)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 除法运算
|
||||||
|
* @param {Number} a
|
||||||
|
* @param {Number} b
|
||||||
|
* @example Math.divNum(0.3 , 0.1) // => 3
|
||||||
|
*/
|
||||||
|
const divNum = (a, b) => {
|
||||||
|
var c,
|
||||||
|
d,
|
||||||
|
e = 0,
|
||||||
|
f = 0
|
||||||
|
try {
|
||||||
|
e = a.toString().split('.')[1].length
|
||||||
|
} catch (g) {}
|
||||||
|
try {
|
||||||
|
f = b.toString().split('.')[1].length
|
||||||
|
} catch (g) {}
|
||||||
|
return (
|
||||||
|
(c = Number(a.toString().replace('.', ''))),
|
||||||
|
(d = Number(b.toString().replace('.', ''))),
|
||||||
|
mulNum(c / d, Math.pow(10, f - e))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Math.divNum = divNum
|
||||||
|
Math.addNum = addNum
|
||||||
|
Math.subNum = subNum
|
||||||
|
Math.mulNum = mulNum
|
Loading…
Reference in New Issue