|
@@ -7,14 +7,28 @@ let scMathUtil = {
|
|
|
let lFactor = Math.pow(10, digit);
|
|
|
let fOffSet = 0.5;
|
|
|
let sign = '';
|
|
|
+ // 处理符号
|
|
|
if (num < 0){
|
|
|
sign = '-';
|
|
|
num = Math.abs(num);
|
|
|
}
|
|
|
+ // 计算
|
|
|
let result = Math.floor((num / lFactor) + fOffSet).toString();
|
|
|
let iLength = result.length;
|
|
|
+ // 因为数值被转为整数计算,当目标位数在小数点后,且数值小于0,需要补齐前面的位数
|
|
|
+ if (iLength < -digit){
|
|
|
+ result = zeroString(-digit) + result;
|
|
|
+ }
|
|
|
+ // 当目标位数在小数点前,需要补齐后面的位数
|
|
|
+ else if ((digit > 0) && (iLength < digit)){
|
|
|
+ result = result + zeroString(digit);
|
|
|
+ }
|
|
|
+ iLength = result.length;
|
|
|
+ // 获得小数点前的数字
|
|
|
let r1 = result.substring(0, iLength + digit);
|
|
|
+ // 获得小数点后的数字
|
|
|
let r2 = result.substring(iLength + digit, iLength);
|
|
|
+ // 拼出完整结果
|
|
|
return Number(sign + r1 + '.' + r2);
|
|
|
},
|
|
|
floatToBin: function(num) {
|