集图网,网站营销优化方案,wordpress the7 中文,代运营是如何骗人的工具: PlayeGround
源码#xff1a; GitHub TypeScript 简介
数字的基本类型是number#xff0c;它是双精度64位浮点数#xff0c;在TypeScript和JavaScript中没有整数。
但是他们支持使用Number对象#xff0c;它是对原始数值的包装对象。
const value new Number(pa…工具: PlayeGround
源码 GitHub TypeScript 简介
数字的基本类型是number它是双精度64位浮点数在TypeScript和JavaScript中没有整数。
但是他们支持使用Number对象它是对原始数值的包装对象。
const value new Number(param);注意参数类型为any类型如果不能够转换为数字将返回Nan(非数字值)或null
const data new Number(Hello);
console.log(data); // Number: null 对于Number的属性相关如下
属性名返回类型描述MAX_VALUEnumber可表示的最大数值,1.79E308MIN_VALUEnumber可表示的最小数值 5.00E-324NaNnumber非数字数值, 即使在相等比较中它不等于自己NEGATIVE_INFINITYnumber负无穷大溢出时返回该值。该值小于 MIN_VALUEPOSITIVE_INFINITYnumber正无穷大溢出时返回该值。该值大于 MAX_VALUEtoStringstring使用指定的基数转换为字符串基数是[2,36]之间的整数默认为10toLocaleStringstring把数字转换为字符串toFixedstring将数字转换为字符串并设置小数点后的位数范围在[0,20]之间 存在四舍五入的问题toExponentialstring将数字转换为指数计数的字符串小数点后的位数范围在[0, 20]之间 存在四舍五入的问题toPrecisionstring将数字转换为指定长度的字符串有效数字个数在[1,21]之间 不存在四舍五入的问题valueOfnumber返回Number对象的原始数字值 属性变量
源码相关
interface NumberConstructor {// 创建Number对象 参数为any类型new(value?: any): Number;(value?: any): number;readonly prototype: Number;// 可表示的最大数值 1.79E308readonly MAX_VALUE: number;// 可表示的最小数值 5.00E-324readonly MIN_VALUE: number;// 非数字数值, 即使在相等比较中它不等于自己readonly NaN: number;// 负无穷大溢出时返回该值。该值小于 MIN_VALUEreadonly NEGATIVE_INFINITY: number;// 正无穷大溢出时返回该值。该值大于 MAX_VALUE。readonly POSITIVE_INFINITY: number;
}
declare var Number: NumberConstructor;简单的实例
console.log(最大值为: Number.MAX_VALUE);
console.log(最小值为: Number.MIN_VALUE);
console.log(负无穷大: Number.NEGATIVE_INFINITY);
console.log(正无穷大: Number.POSITIVE_INFINITY);
console.log(Number.NEGATIVE_INFINITY Number.MIN_VALUE); // true
console.log(Number.POSITIVE_INFINITY Number.MAX_VALUE); // true 针对于正负无穷大它返回的数据为Infinity:
const minValue Number.NEGATIVE_INFINITY;
const maxValue Number.POSITIVE_INFINITY;
console.log(minValue); // -Infinity
console.log(maxValue); // Infinity针对于Nan要注意它不等于任何值包括它自己
console.log(10 ! NaN); // true
console.log(NaN NaN); // false 方法
源码相关
interface Number {// 使用指定的基数转换为字符串基数是[2,36]之间的整数默认为10toString(radix?: number): string;// 将数字转换为字符串并设置小数点后的位数范围在[0,20]之间toFixed(fractionDigits?: number): string;// 将数字转换为指数计数的字符串小数点后的位数范围在[0, 20]之间toExponential(fractionDigits?: number): string;// 将数字转换为指定长度的字符串有效数字个数在[1,21]之间toPrecision(precision?: number): string;// 返回Number对象的原始数字值valueOf(): number;
}interface Number {// 把数字转换为字符串使用本地数字格式顺序toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string;
}toString 转换为指定进制字符串, 基数范围[2 36]
const value new Number(10);
// 没有基数则默认十进制
console.log(value.toString()); // 10
// 二进制
console.log(value.toString(2)); // 1010注意 进制的范围[2, 36]之间否则报错: toString() radix argument must be between 2 and 36 toLocaleString 与toString相比较在数字四位数的时候比较明显
const value new Number(1234.56789);
// 直接转换
console.log(value.toString()); // 1234.56789
// 每三位会有逗号间隔
console.log(value.toLocaleString()); // 1,234.568toFixed 转换为保留指定位数小数小数位数范围在[0,20]
const value new Number(1.567123);
// 不保留小数
console.log(value.toFixed()); // 2
// 保留两位小数
console.log(value.toFixed(2)); // 1.57注意 会存在四舍五入的情况 toExponential 转换为指数字符串 小数位数范围在[0, 20]
const value new Number(12375.73);
// 未设定则保留所有
console.log(value.toExponential()); // 1.237573e4
// 保留两位小数 会存在四舍五入
console.log(value.toExponential(2)); // 1.24e4注意 会存在四舍五入的情况 toPrecision 转换为指定长度的字符串有效数字个数范围[1,21]
const value new Number(1.5367);
// 未设定则保留所有
console.log(value.toPrecision()); // 1.5367
// 保留两位小数 不会四舍五入
console.log(value.toPrecision(2)); // 1.5如果对精度要求比较高推荐使用该方法。 valueOf 获取原型的number数据
const value new Number(1234);
console.log(typeof(value)); // object const num:any value.valueOf();
console.log(num, typeof(num)); // 1234, number