New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

calculate-asmd

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

calculate-asmd - npm Package Compare versions

Comparing version 2.2.2 to 2.3.0

113

dist/index.esm.js
/**
* [scaleNum 通过操作其字符串将一个浮点数放大或缩小]
* @param {number} num 要放缩的浮点数
* @param {number} pos 小数点移动位数
* pos大于0为放大,小于0为缩小;不传则默认将其变成整数
* @return {number} 放缩后的数
* [scaleNum 将一个number浮点数放大或缩小position个小数点位数]
* @param {number} number 要放缩的浮点数
* @param {number} position 小数点移动位数
* position大于0为放大,小于0为缩小,等于0不做缩放。
* @return {number} 放缩后的数
*/
var scaleNum = function scaleNum(num, pos) {
if (num === 0 || pos === 0) {
var scaleNum = function scaleNum() {
var number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var num = Number(number);
var posNum = Number(position); // 如果传入两个参数,Number转化后为NaN则直接返回NaN
if (isNaN(num) || isNaN(posNum)) {
return NaN;
}
if (num === 0 || posNum === 0) {
return num;

@@ -23,11 +32,7 @@ }

var intLen = parts[0].length;
var decimalLen = parts[1] ? parts[1].length : 0; // 默认将其变成整数,放大倍数为原来小数位数
var decimalLen = parts[1] ? parts[1].length : 0;
if (pos === undefined || pos === null) {
return parseFloat(parts[0] + parts[1]);
}
if (pos > 0) {
if (posNum > 0) {
// 放大
var zeros = pos - decimalLen;
var zeros = posNum - decimalLen;

@@ -40,3 +45,3 @@ while (zeros > 0) {

// 缩小
var _zeros = Math.abs(pos) - intLen;
var _zeros = Math.abs(posNum) - intLen;

@@ -49,3 +54,3 @@ while (_zeros > 0) {

var idx = intLen + pos;
var idx = intLen + posNum;
parts = parts.join('').split('');

@@ -67,3 +72,12 @@ parts.splice(idx > 0 ? idx : 0, 0, '.');

var add = function add(arg1, arg2) {
var add = function add() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var r1 = 0;

@@ -74,3 +88,3 @@ var r2 = 0;

try {
r1 = arg1.toString().split('.')[1].length;
r1 = param1.toString().split('.')[1].length;
} catch (e) {

@@ -81,3 +95,3 @@ r1 = 0;

try {
r2 = arg2.toString().split('.')[1].length;
r2 = param2.toString().split('.')[1].length;
} catch (e) {

@@ -88,4 +102,4 @@ r2 = 0;

scale = Math.max(r1, r2);
var num1 = scaleNum(arg1, scale);
var num2 = scaleNum(arg2, scale);
var num1 = scaleNum(param1, scale);
var num2 = scaleNum(param2, scale);
var num = num1 + num2;

@@ -102,3 +116,12 @@ var result = scaleNum(num, -scale);

var sub = function sub(arg1, arg2) {
var sub = function sub() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var r1 = 0;

@@ -109,3 +132,3 @@ var r2 = 0;

try {
r1 = arg1.toString().split('.')[1].length;
r1 = param1.toString().split('.')[1].length;
} catch (e) {

@@ -116,3 +139,3 @@ r1 = 0;

try {
r2 = arg2.toString().split('.')[1].length;
r2 = param2.toString().split('.')[1].length;
} catch (e) {

@@ -123,4 +146,4 @@ r2 = 0;

scale = Math.max(r1, r2);
var num1 = scaleNum(arg1, scale);
var num2 = scaleNum(arg2, scale);
var num1 = scaleNum(param1, scale);
var num2 = scaleNum(param2, scale);
var num = num1 - num2;

@@ -137,9 +160,18 @@ var result = scaleNum(num, -scale);

var mul = function mul(arg1, arg2) {
var num1 = Number(arg1.toString().replace('.', ''));
var num2 = Number(arg2.toString().replace('.', ''));
var mul = function mul() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var num1 = Number(param1.toString().replace('.', ''));
var num2 = Number(param2.toString().replace('.', ''));
var scale = 0;
try {
scale += arg1.toString().split('.')[1].length;
scale += param1.toString().split('.')[1].length;
} catch (e) {

@@ -150,3 +182,3 @@ scale += 0;

try {
scale += arg2.toString().split('.')[1].length;
scale += param2.toString().split('.')[1].length;
} catch (e) {

@@ -167,5 +199,14 @@ scale += 0;

var div = function div(arg1, arg2) {
var num1 = Number(arg1.toString().replace('.', ''));
var num2 = Number(arg2.toString().replace('.', ''));
var div = function div() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var num1 = Number(param1.toString().replace('.', ''));
var num2 = Number(param2.toString().replace('.', ''));
var left1 = 0;

@@ -175,3 +216,3 @@ var left2 = 0;

try {
left1 = Number(arg1.toString().split('.')[1].length);
left1 = Number(param1.toString().split('.')[1].length);
} catch (e) {

@@ -182,3 +223,3 @@ left1 = 0;

try {
left2 = Number(arg2.toString().split('.')[1].length);
left2 = Number(param2.toString().split('.')[1].length);
} catch (e) {

@@ -185,0 +226,0 @@ left2 = 0;

@@ -6,10 +6,19 @@ 'use strict';

/**
* [scaleNum 通过操作其字符串将一个浮点数放大或缩小]
* @param {number} num 要放缩的浮点数
* @param {number} pos 小数点移动位数
* pos大于0为放大,小于0为缩小;不传则默认将其变成整数
* @return {number} 放缩后的数
* [scaleNum 将一个number浮点数放大或缩小position个小数点位数]
* @param {number} number 要放缩的浮点数
* @param {number} position 小数点移动位数
* position大于0为放大,小于0为缩小,等于0不做缩放。
* @return {number} 放缩后的数
*/
var scaleNum = function scaleNum(num, pos) {
if (num === 0 || pos === 0) {
var scaleNum = function scaleNum() {
var number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var num = Number(number);
var posNum = Number(position); // 如果传入两个参数,Number转化后为NaN则直接返回NaN
if (isNaN(num) || isNaN(posNum)) {
return NaN;
}
if (num === 0 || posNum === 0) {
return num;

@@ -28,11 +37,7 @@ }

var intLen = parts[0].length;
var decimalLen = parts[1] ? parts[1].length : 0; // 默认将其变成整数,放大倍数为原来小数位数
var decimalLen = parts[1] ? parts[1].length : 0;
if (pos === undefined || pos === null) {
return parseFloat(parts[0] + parts[1]);
}
if (pos > 0) {
if (posNum > 0) {
// 放大
var zeros = pos - decimalLen;
var zeros = posNum - decimalLen;

@@ -45,3 +50,3 @@ while (zeros > 0) {

// 缩小
var _zeros = Math.abs(pos) - intLen;
var _zeros = Math.abs(posNum) - intLen;

@@ -54,3 +59,3 @@ while (_zeros > 0) {

var idx = intLen + pos;
var idx = intLen + posNum;
parts = parts.join('').split('');

@@ -72,3 +77,12 @@ parts.splice(idx > 0 ? idx : 0, 0, '.');

var add = function add(arg1, arg2) {
var add = function add() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var r1 = 0;

@@ -79,3 +93,3 @@ var r2 = 0;

try {
r1 = arg1.toString().split('.')[1].length;
r1 = param1.toString().split('.')[1].length;
} catch (e) {

@@ -86,3 +100,3 @@ r1 = 0;

try {
r2 = arg2.toString().split('.')[1].length;
r2 = param2.toString().split('.')[1].length;
} catch (e) {

@@ -93,4 +107,4 @@ r2 = 0;

scale = Math.max(r1, r2);
var num1 = scaleNum(arg1, scale);
var num2 = scaleNum(arg2, scale);
var num1 = scaleNum(param1, scale);
var num2 = scaleNum(param2, scale);
var num = num1 + num2;

@@ -107,3 +121,12 @@ var result = scaleNum(num, -scale);

var sub = function sub(arg1, arg2) {
var sub = function sub() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var r1 = 0;

@@ -114,3 +137,3 @@ var r2 = 0;

try {
r1 = arg1.toString().split('.')[1].length;
r1 = param1.toString().split('.')[1].length;
} catch (e) {

@@ -121,3 +144,3 @@ r1 = 0;

try {
r2 = arg2.toString().split('.')[1].length;
r2 = param2.toString().split('.')[1].length;
} catch (e) {

@@ -128,4 +151,4 @@ r2 = 0;

scale = Math.max(r1, r2);
var num1 = scaleNum(arg1, scale);
var num2 = scaleNum(arg2, scale);
var num1 = scaleNum(param1, scale);
var num2 = scaleNum(param2, scale);
var num = num1 - num2;

@@ -142,9 +165,18 @@ var result = scaleNum(num, -scale);

var mul = function mul(arg1, arg2) {
var num1 = Number(arg1.toString().replace('.', ''));
var num2 = Number(arg2.toString().replace('.', ''));
var mul = function mul() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var num1 = Number(param1.toString().replace('.', ''));
var num2 = Number(param2.toString().replace('.', ''));
var scale = 0;
try {
scale += arg1.toString().split('.')[1].length;
scale += param1.toString().split('.')[1].length;
} catch (e) {

@@ -155,3 +187,3 @@ scale += 0;

try {
scale += arg2.toString().split('.')[1].length;
scale += param2.toString().split('.')[1].length;
} catch (e) {

@@ -172,5 +204,14 @@ scale += 0;

var div = function div(arg1, arg2) {
var num1 = Number(arg1.toString().replace('.', ''));
var num2 = Number(arg2.toString().replace('.', ''));
var div = function div() {
var arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var arg2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var param1 = Number(arg1);
var param2 = Number(arg2);
if (isNaN(param1) || isNaN(param2)) {
return NaN;
}
var num1 = Number(param1.toString().replace('.', ''));
var num2 = Number(param2.toString().replace('.', ''));
var left1 = 0;

@@ -180,3 +221,3 @@ var left2 = 0;

try {
left1 = Number(arg1.toString().split('.')[1].length);
left1 = Number(param1.toString().split('.')[1].length);
} catch (e) {

@@ -187,3 +228,3 @@ left1 = 0;

try {
left2 = Number(arg2.toString().split('.')[1].length);
left2 = Number(param2.toString().split('.')[1].length);
} catch (e) {

@@ -190,0 +231,0 @@ left2 = 0;

{
"name": "calculate-asmd",
"version": "2.2.2",
"version": "2.3.0",
"description": "calculate/arithmetic",
"license": "MIT",
"scripts": {
"start": "umi-lib doc dev",
"doc": "umi-lib doc build && cpx docs/404.html .docz/dist/ && umi-lib doc deploy",
"doc": "umi-lib doc build && cpx docs/404.html .docz/mochawesome-report/ && umi-lib doc deploy",
"build": "umi-lib build",
"prepare": "yarn run build",
"test": "yarn run build && mocha"
"test": "yarn run build && mocha",
"pre-mochawesome": "mocha --reporter mochawesome",
"deploy": "gh-pages -d mochawesome-report"
},

@@ -26,7 +29,7 @@ "main": "dist/index.js",

"keywords": [
"axios",
"last"
"calculate",
"arithmetic",
"asmd"
],
"author": "WangYang",
"license": "MIT",
"author": "sanshuiwang",
"bugs": {

@@ -43,3 +46,5 @@ "url": "https://github.com/sanshuiwang/calculate-asmd/issues"

"eslint-plugin-import": "^2.16.0",
"gh-pages": "^2.1.1",
"mocha": "^6.0.2",
"mochawesome": "^4.1.0",
"nock": "^10.0.6",

@@ -46,0 +51,0 @@ "typescript": "^3.3.4000",

@@ -13,7 +13,7 @@ # calculate-asmd

`yarn add calculate-asmd --dev`
`yarn add calculate-asmd`
or
`npm install calculate-asmd --save-dev`
`npm install calculate-asmd --save`

@@ -23,40 +23,51 @@ <h4>Demo</h4>

```
import { add, sub, mul, div } from 'calculate-asmd'
import { add, sub, mul, div } from 'calculate-asmd'
const addNum = add(0.2, 0.4);
console.log("add(0.2, 0.4): ", addNum);
console.log("add(0.2, 0.4): ", addNum); //add(0.2, 0.4): 0.6
const addNegative = add(0.2, -0.4);
console.log("add(0.2, -0.4): ", addNegative);
/**
*add(0.2, 0.4): 0.6
*add(0.2, -0.4): -0.2
*/
console.log("add(0.2, -0.4): ", addNegative); //add(0.2, -0.4): -0.2
const subNum = sub(0.2, 0.4);
console.log("sub(0.2, 0.4): ", subNum);
console.log("sub(0.2, 0.4): ", subNum); //sub(0.2, 0.4): -0.2
const subNegative = sub(0.2, -0.4);
console.log("sub(0.2, -0.4): ", subNegative);
/**
*sub(0.2, 0.4): -0.2
*sub(0.2, -0.4): 0.6
*/
console.log("sub(0.2, -0.4): ", subNegative); //sub(0.2, -0.4): 0.6
const mulNum = mul(0.57, 100);
console.log("mul(0.57, 100): ", mulNum);
console.log("mul(0.57, 100): ", mulNum); //mul(0.57, 100): 57
const mulNegativ = mul(-0.57, 100);
console.log("mul(-0.57, 100): ", mulNegativ);
/**
*mul(0.57, 100): 57
*mul(-0.57, 100): -57
*/
console.log("mul(-0.57, 100): ", mulNegativ); //mul(-0.57, 100): -57
const divNum = div(0.57, 100);
console.log("div(0.57, 100): ", divNum);
console.log("div(0.57, 100): ", divNum); //div(0.57, 100): 0.0057
const divNegative = div(-0.57, 100);
console.log("div(-0.57, 100): ", divNegative);
/**
*div(0.57, 100): 0.0057
*div(-0.57, 100): -0.0057
*/
console.log("div(-0.57, 100): ", divNegative); //div(-0.57, 100): -0.0057
```
<h4>Expand</h4>
```
import { scaleNum } from 'calculate-asmd'
scaleNum(0.57, 2) // 57
scaleNum(0.57, -2) // 0.0057
scaleNum(0.57, 0) // 0.57
```
> asmd(arg1,arg2)
`arg1`: Default 0, type number/string
`arg2`: Default 0, type number/string
`Tips: If arg is NaN, it will return NaN directly. If arg is null/undefined/"", arg will be treated as 0`
> div(arg1,arg2)
`arg2`: If arg2 is 0, it will return Infinity.
> Test
[Test Document](https://sanshuiwang.github.io/calculate-asmd/)
/**
* [scaleNum 通过操作其字符串将一个浮点数放大或缩小]
* @param {number} num 要放缩的浮点数
* @param {number} pos 小数点移动位数
* pos大于0为放大,小于0为缩小;不传则默认将其变成整数
* @return {number} 放缩后的数
* [scaleNum 将一个number浮点数放大或缩小position个小数点位数]
* @param {number} number 要放缩的浮点数
* @param {number} position 小数点移动位数
* position大于0为放大,小于0为缩小,等于0不做缩放。
* @return {number} 放缩后的数
*/
export const scaleNum = (num, pos) => {
if (num === 0 || pos === 0) {
export const scaleNum = (number = 0, position = 0) => {
const num = Number(number)
const posNum = Number(position)
// 如果传入两个参数,Number转化后为NaN则直接返回NaN
if (isNaN(num) || isNaN(posNum)) {
return NaN
}
if (num === 0 || posNum === 0) {
return num

@@ -24,10 +30,5 @@ }

// 默认将其变成整数,放大倍数为原来小数位数
if (pos === undefined || pos === null) {
return parseFloat(parts[0] + parts[1])
}
if (pos > 0) {
if (posNum > 0) {
// 放大
let zeros = pos - decimalLen
let zeros = posNum - decimalLen
while (zeros > 0) {

@@ -39,3 +40,3 @@ zeros -= 1

// 缩小
let zeros = Math.abs(pos) - intLen
let zeros = Math.abs(posNum) - intLen
while (zeros > 0) {

@@ -47,3 +48,3 @@ zeros -= 1

const idx = intLen + pos
const idx = intLen + posNum
parts = parts.join('').split('')

@@ -65,3 +66,9 @@ parts.splice(idx > 0 ? idx : 0, 0, '.')

*/
export const add = (arg1, arg2) => {
export const add = (arg1 = 0, arg2 = 0) => {
const param1 = Number(arg1)
const param2 = Number(arg2)
if (isNaN(param1) || isNaN(param2)) {
return NaN
}
let r1 = 0

@@ -71,3 +78,3 @@ let r2 = 0

try {
r1 = arg1.toString().split('.')[1].length
r1 = param1.toString().split('.')[1].length
} catch (e) {

@@ -78,3 +85,3 @@ r1 = 0

try {
r2 = arg2.toString().split('.')[1].length
r2 = param2.toString().split('.')[1].length
} catch (e) {

@@ -85,4 +92,4 @@ r2 = 0

scale = Math.max(r1, r2)
const num1 = scaleNum(arg1, scale)
const num2 = scaleNum(arg2, scale)
const num1 = scaleNum(param1, scale)
const num2 = scaleNum(param2, scale)
const num = num1 + num2

@@ -99,3 +106,9 @@ const result = scaleNum(num, -scale)

*/
export const sub = (arg1, arg2) => {
export const sub = (arg1 = 0, arg2 = 0) => {
const param1 = Number(arg1)
const param2 = Number(arg2)
if (isNaN(param1) || isNaN(param2)) {
return NaN
}
let r1 = 0

@@ -105,3 +118,3 @@ let r2 = 0

try {
r1 = arg1.toString().split('.')[1].length
r1 = param1.toString().split('.')[1].length
} catch (e) {

@@ -112,3 +125,3 @@ r1 = 0

try {
r2 = arg2.toString().split('.')[1].length
r2 = param2.toString().split('.')[1].length
} catch (e) {

@@ -119,4 +132,4 @@ r2 = 0

scale = Math.max(r1, r2)
const num1 = scaleNum(arg1, scale)
const num2 = scaleNum(arg2, scale)
const num1 = scaleNum(param1, scale)
const num2 = scaleNum(param2, scale)
const num = num1 - num2

@@ -133,9 +146,15 @@ const result = scaleNum(num, -scale)

*/
export const mul = (arg1, arg2) => {
const num1 = Number(arg1.toString().replace('.', ''))
const num2 = Number(arg2.toString().replace('.', ''))
export const mul = (arg1 = 0, arg2 = 0) => {
const param1 = Number(arg1)
const param2 = Number(arg2)
if (isNaN(param1) || isNaN(param2)) {
return NaN
}
const num1 = Number(param1.toString().replace('.', ''))
const num2 = Number(param2.toString().replace('.', ''))
let scale = 0
try {
scale += arg1.toString().split('.')[1].length
scale += param1.toString().split('.')[1].length
} catch (e) {

@@ -146,3 +165,3 @@ scale += 0

try {
scale += arg2.toString().split('.')[1].length
scale += param2.toString().split('.')[1].length
} catch (e) {

@@ -163,9 +182,15 @@ scale += 0

*/
export const div = (arg1, arg2) => {
const num1 = Number(arg1.toString().replace('.', ''))
const num2 = Number(arg2.toString().replace('.', ''))
export const div = (arg1 = 0, arg2 = 0) => {
const param1 = Number(arg1)
const param2 = Number(arg2)
if (isNaN(param1) || isNaN(param2)) {
return NaN
}
const num1 = Number(param1.toString().replace('.', ''))
const num2 = Number(param2.toString().replace('.', ''))
let left1 = 0
let left2 = 0
try {
left1 = Number(arg1.toString().split('.')[1].length)
left1 = Number(param1.toString().split('.')[1].length)
} catch (e) {

@@ -176,3 +201,3 @@ left1 = 0

try {
left2 = Number(arg2.toString().split('.')[1].length)
left2 = Number(param2.toString().split('.')[1].length)
} catch (e) {

@@ -179,0 +204,0 @@ left2 = 0

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc