export const subtract = (number1, number2) => {
// 当值为1.234e2 会处理为 ['1.234','2'];
// 当值为1.234 会处理为 ['1.234',''];
const [num1, pair1] = `${number1}e`.split('e');
const [num2, pair2] = `${number2}e`.split('e');
// 获取最大小数位
// 值为1.234时 转化为 '1.234.' 读取小数位为 '234'.length = 3
// 值为1234时 转换为 '1234.' 读取小数位为 ''.length = 0
// 最后和幂相加获得真实小数位数
const decimalPlaces = max([
`${num1}.`.split('.')[1].length - +pair1,
`${num2}.`.split('.')[1].length - +pair2
]);
// 如果小数位数大于0,需要转换为整数再进行运算
return decimalPlaces > 0
? (+`${num1}e${+pair1 + decimalPlaces}` -
+`${num2}e${+pair2 + decimalPlaces}`) /
10 ** decimalPlaces
: number1 - number2;
};
JS小数减法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...