página web oficial
Ejemplo: math.js | una extensa biblioteca matemática para JavaScript y Node.js
github: GitHub - josdejong/mathjs: una extensa biblioteca matemática para JavaScript y Node.js
dirección npm: mathjs-npm
características matemáticas:
- Se admiten números, números grandes, números complejos, fracciones, unidades, cadenas, arreglos y matrices.
- Compatible con la biblioteca matemática integrada de JavaScript.
- Contiene un analizador de expresiones flexible.
- Realizar cálculos simbólicos.
- Viene con una gran cantidad de funciones y constantes integradas.
- También se puede utilizar como una aplicación de línea de comandos.
- Se ejecuta en cualquier motor de JavaScript.
- Fácil de ampliar.
- fuente abierta.
Math.js está disponible en node.js y el navegador.
Instale math.js usando npm :
npm install mathjs
O descargue mathjs a través de uno de los CDN enumerados en la página de descarga:
<secuencia de comandos src="https://cdn.bootcdn.net/ajax/libs/mathjs/10.6.1/math.min.js"></secuencia de comandos>
Cómo usar mathjs
El método de mathjs para obtener el valor de la operación.
- valor de()
- hecho()
- formato()
- ...
Use funciones estáticas y constantes (como el objeto matemático de JavaScript)
math.round(math.e, 3); // 2.718
math.add(2, 3); // 5
math.sqrt(-4); // 2i
math.pow([[-1, 2], [3, 1]],2); // [[7, 0], [0, 7]]
math.derivative('x^2 + x', 'x'); // 2 * x + 1
math.atan2(3, -3) / math.pi; // 0.75
numeros grandes de mathjs
Si no se usa bignumber, el resultado del cálculo tendrá problemas de precisión
math.bignumber('2.3e+500') // BigNumber, 2.3e+500
print(math.add(0.1, 0.2)) // number, 0.30000000000000004
print(math.multiply(10.22, 100)). //1022.0000000000001
print(math.divide(0.3, 0.2)) // number, 1.4999999999999998
La primera:
Puede usar la siguiente función para crear BigNumber para resolver el problema de precisión del cálculo js
print(math.add(math.bignumber(0.1), math.bignumber(0.2))) // BigNumber, 0.3
print(math.divide(math.bignumber(0.3), math.bignumber(0.2))) // BigNumber, 1.5
El segundo tipo:
La mayoría de las funciones pueden determinar el tipo de salida según el tipo de entrada: un número como entrada devolverá un número como salida, un BigNumber como entrada devolverá un BigNumber como salida. Las funciones que no pueden determinar los tipos de entrada y salida (por ejemplo math.evaluate
, ) usan tipos numéricos predeterminados number
, que se pueden configurar al instanciar math.js. Para configurar el uso de BigNumbers en lugar de números de forma predeterminada, configure math.js de esta manera:
const { create, all } = require('..')
// configure the default type of numbers as BigNumbers
const config = {
number: 'BigNumber',
precision: 64,
}
const math = create(all, config)
math.evaluate('0.1 + 0.2') // BigNumber, 0.3
BigNumber tiene una precisión predeterminada de 64 bits, que se puede configurar mediante la opción
Sumas, restas, multiplicaciones y divisiones
Ejemplo usando bignumber:
math.add(math.bignumber(0.1), math.bignumber(0.2)) // 加法 BigNumber, 0.3
math.subtract(math.bignumber(1), math.bignumber(0.9)) // 减法 BigNumber, 0.1
math.multiply(math.bignumber(4.10), math.bignumber(100)) // 乘法 BigNumber, 410
math.multiply(math.bignumber(10.22), math.bignumber(100)) //乘法 10.22
math.ceil(math.bignumber(6.10)/ math.bignumber(0.1)); //除法 向上取整 61
math.floor(math.bignumber(6.10)/ math.bignumber(0.1)); //除法 向下取整 61
math.round(math.bignumber(6.10)/ math.bignumber(0.1)); // 除法 四舍五入 61