数字数学

186 阅读4分钟

数学

Math 对象属性

let e   = Math.E;       // 约 2.718
let ln2 = Math.LN2;     // 约 0.693
let l10 = Math.LN10;    // 约 2.302
let l2e = Math.LOG2E;   // 约 1.442
let l1e = Math.LOG10E;  // 约 0.434
let pi  = Math.PI;      // 约 3.14
let sq1 = Math.SQRT1_2; // 约 0.707
let sq3 = Math.SQRT2;   // 约 1.414
属性描述
E返回欧拉数(约 2.718)
LN2返回 2 的自然对数(约 0.693)
LN10返回 10 的自然对数(约 2.302)
LOG2E返回 E 的以 2 为底的对数(约 1.442)
LOG10E返回 E 的以 10 为底的对数(约 0.434)
PI返回 PI(约 3.14)
SQRT1_2返回 1/2 的平方根(约 0.707)
SQRT2返回 2 的平方根(约 1.414)

Math 对象方法

let n = Math.max(1, 2, 3, 4, 5); // 5   最大值
let n = Math.min(1, 2, 3, 4, 5); // 1   最小值
let n = Math.trunc(4.5);  // 4   取整
let n = Math.ceil(4.1);   // 5   向上取整   
let n = Math.floor(4.6);  // 4   向下取整
let n = Math.round(4.1);  // 4   四舍五入
let n = Math.round(4.6);  // 5   四舍五入
let n = Math.random();    // 0-1 随机数
let n = Math.pow(2, 3);   // 8   x 的 y 次方
let n = Math.abs(-3);     // 3   取绝对值
let n = Math.sqrt(16);    // 4   开平方
let n = Math.cbrt(27);    // 3   开立方
let n = Math.sign(5);     // 1   正数返回 1 
let n = Math.sign(0);     // 0   0 返回 0
let n = Math.sign(-6);    // -1  负数返回 -1
方法描述
max(x, y, z, ..., n)最大值
min(x, y, z, ..., n)最小值
trunc(x)取整
ceil(x)向上舍入为最接近的整数
floor(x)向下舍入为最接近的整数
round(x)将 x 舍入为最接近的整数
random()0 到 1 之间的随机数
pow(x, y)x 的 y 次方
abs(x)x 的绝对值
sqrt(x)开平方
cbrt(x)开立方
sign(x)返回数的符号(正数:1、负数:-1、零:0)
clz32(x)返回 x 的 32 位二进制表示中前导零的数量
fround(x)数的最接近的(32 位单精度)浮点表示
exp(x)Ex 的值
expm1(x)Ex 减去 1 的值
log(x)x 的自然对数
log2(x)x 的以 2 为底的对数
log10(x)x 的以 10 为底的对数
log1p(x)1 + x 的自然对数
sin(x)x 的正弦值(x 以弧度为单位)
sinh(x)x 的双曲正弦值
asin(x)x 的反正弦值,以弧度为单位
asinh(x)x 的双曲反正弦值
cos(x)x 的余弦值(x 以弧度为单位)
cosh(x)x 的双曲余弦值
acos(x)x 的反余弦值,以弧度为单位
acosh(x)x 的双曲反余弦值
tan(x)数的正切值
tanh(x)数的双曲正切值
atan(x)返回 x 的反正切值,值是 -PI/2 到 PI/2 之间的弧度值
atan2(y, x)返回其参数商的反正切值
atanh(x)返回 x 的双曲反正切值

数字

Number 对象属性

let n = Number.NEGATIVE_INFINITY;  // 无穷小,溢出时返回该值 (-Infinity)
let n = Number.POSITIVE_INFINITY;  // 无穷大,溢出时返回该值 (Infinity)
let n = Number.MAX_SAFE_INTEGER;   // 最大安全整数   9007199254740991
let n = Number.MIN_SAFE_INTEGER;   // 最小安全整数  -9007199254740991
let n = Number.MAX_VALUE;   // 最大的数 1.7976931348623157 x 10^308(1.79E+308)
let n = Number.MIN_VALUE;   // 最小的数 5 x 10-324(5E-324)
let n = Number.NaN;         // NaN
属性描述
constructor返回对创建此对象的 Number 函数的引用
prototype原型,允许您向对象添加属性和方法
EPSILON返回对创建此对象的 Number 函数的引用
MAX_SAFE_INTEGER最大安全整数 9007199254740991
MIN_SAFE_INTEGER最小安全整数 -9007199254740991
MAX_VALUE最大的数 1.7976931348623157 x 10^308(1.79E+308)
MIN_VALUE最小的数 5 x 10-324(5E-324)
NaN非数字值
NEGATIVE_INFINITY无穷小,溢出时返回该值 (-Infinity)
POSITIVE_INFINITY无穷大,溢出时返回该 (Infinity)

Number 对象方法

// 将数字转换为字符串,四舍五入到指定的小数位数
let num = 5.56789;
let n = num.toFixed(2);    // 5.57
let n = num.toFixed();     // 6

// 数字是有限数 : true
// 无限(非有限)数是 Infinity、-Infinity 或 NaN : false
let n = Number.isFinite(123); // true

// 是否是整数
let n = Number.isInteger(1);  // true

// 是否非数字
let n = Number.isNaN(0/0);    // true 

// 2^53-1到-(2^53-1)的整数
let n = Number.isSafeInteger(5);   // true   

let num = 5.56789;
let n = num.toExponential(3); // 5.56789e+0
 
// 使用本地语言格式将数字以字符串返回。
let num = 1000000;
let text = num.toLocaleString();   // 1,000,000

// 将数字格式化为指定长度
// 会四舍五入
let num = 13.3714;
let n = num.toPrecision(2);  // 13
let n = num.toPrecision(3);  // 13.4

// 把数字转换为字符串
let num = 15;
let text = num.toString();   // '15' 

let n = Number.valueOf();
方法描述
toFixed(x)把数字转换为字符串,结果的小数点后有指定位数的数字
isFinite(x)是否是有限数
isInteger(x)是否为整数
isNaN(x)是否为 Number.NaN。
isSafeInteger(x)是否为安全整数, (2^53 - 1) 到 -(2^53 - 1)
toExponential(x)将数字转换为指数计数法
toLocaleString(x)把数字转换为字符串,使用本地数字格式顺序
toPrecision(x)把数字格式化为指定的长度,会四舍五入
toString()把数字转换为字符串
valueOf(x)返回数字的原始值(基本数字值)