revert Merge branch 'main' of http://47.107.152.87:3000/liubiao/APP # Conflicts: # .gitignore # pages/common/index/index.vue # unpackage/dist/dev/app-plus/app-config-service.js # unpackage/dist/dev/app-plus/app-service.js # unpackage/dist/dev/app-plus/app-view.js # unpackage/dist/dev/app-plus/manifest.json # utils/request.js
30 lines
799 B
JavaScript
30 lines
799 B
JavaScript
// Credit:
|
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round
|
|
// #Decimal_rounding
|
|
|
|
"use strict";
|
|
|
|
var isValue = require("type/object/is")
|
|
, ensureInteger = require("type/integer/ensure");
|
|
|
|
var split = String.prototype.split;
|
|
|
|
module.exports = function (type) {
|
|
return function (value/*, exp*/) {
|
|
value = Number(value);
|
|
var exp = arguments[1];
|
|
if (isValue(exp)) exp = ensureInteger(exp);
|
|
if (!value) return value;
|
|
if (!exp) return Math[type](value);
|
|
if (!isFinite(value)) return value;
|
|
|
|
// Shift
|
|
var tokens = split.call(value, "e");
|
|
value = Math[type](tokens[0] + "e" + ((tokens[1] || 0) - exp));
|
|
|
|
// Shift back
|
|
tokens = value.toString().split("e");
|
|
return Number(tokens[0] + "e" + (Number(tokens[1] || 0) + exp));
|
|
};
|
|
};
|