Module: number

数字相关函数

Functions

formatNumber

formatNumber(v, pattern?): string

通过表达式格式化数字

#,##0.00 => 1,234.00

pattern解释:

  • 0 如果对应位置上没有数字,则用零代替。用于整数位时在位数不足时补0,用于小数位时,如果超长会截取限位并四舍五入;如果位数不足则补0
  • # 如果对应位置上没有数字,不显示。用于整数位时在位数不足时原样显示,用于小数位时,如果超长会截取限位并四舍五入;如果位数不足原样显示
  • . 小数分隔符,只能出现一个
  • , 分组符号,如果出现多个分组符号,以最右侧为准
  • % 后缀符号,数字乘100,并追加%
  • \u2030 后缀符号,数字乘1000,并追加‰
  • E 后缀符号,转为科学计数法格式

Example

//小数位截取时会自动四舍五入console.log(_.formatNumber(123.678,'0.00'))//在整数位中,0不能出现在#左侧;在小数位中,0不能出现在#右侧。console.log(_.formatNumber(12.1,'0##.#0')) //格式错误,返回原值//当有分组出现时,0只会影响短于表达式的数字console.log(_.formatNumber(12.1,',000.00'))//012.10console.log(_.formatNumber(1234.1,',000.00'))//1,234.10//非表达式字符会原样保留console.log(_.formatNumber(1234.1,'¥,000.00元'))//¥1,234.10元//转为科学计数法console.log(_.formatNumber(-0.01234,'##.0000E'))//-1.2340e-2//#号在小数位中会限位,整数位中不会console.log(_.formatNumber(123.456,'#.##'))//123.46

Parameters

NameTypeDefault valueDescription
vstring | numberundefined需要格式化的值,可以是数字或字符串类型
pattern?string'#,##0.00'格式化模式

Returns

string

格式化后的字符串或原始值字符串(如果格式无效时)或特殊值(Infinity\u221E、NaN\uFFFD)


gt

gt(a, b): boolean

判断a是否大于b

Example

//trueconsole.log(_.gt(2,1))//falseconsole.log(_.gt(5,'5'))

Since

1.0.0

Parameters

NameType
aany
bany

Returns

boolean


gte

gte(a, b): boolean

判断a是否大于等于b

Example

//trueconsole.log(_.gte(2,1))//trueconsole.log(_.gte(5,'5'))//falseconsole.log(_.gte(5,'b'))

Since

1.0.0

Parameters

NameType
aany
bany

Returns

boolean


inRange

inRange(v, end): boolean

验证数字v是否大于等于start并且小于end 根据参数个数不同,分为两种签名

_.inRange(v,end); _.inRange(v,start,end);

如果start大于end,则会交换位置

Example

//trueconsole.log(_.inRange(1,1,2))//trueconsole.log(_.inRange(2,3))//falseconsole.log(_.inRange(2,0,2))//trueconsole.log(_.inRange(-2,-2,0))//trueconsole.log(_.inRange(-1,-2))

Since

1.0.0

Parameters

NameTypeDescription
vany
endnumber最大值

Returns

boolean

inRange(v, start, end): boolean

Parameters

NameType
vany
startnumber
endnumber

Returns

boolean


lt

lt(a, b): boolean

判断a是否小于b

Example

//trueconsole.log(_.lt(1,2))//falseconsole.log(_.lt(5,'5'))

Since

1.0.0

Parameters

NameType
aany
bany

Returns

boolean


lte

lte(a, b): boolean

判断a是否小于等于b

Example

//trueconsole.log(_.lte(1,2))//trueconsole.log(_.lte(5,'5'))//falseconsole.log(_.lte(5,'b'))

Since

1.0.0

Parameters

NameType
aany
bany

Returns

boolean


toInteger

toInteger(v): number

转换整数。小数部分会直接丢弃

Example

//9console.log(_.toInteger(9.99))//12console.log(_.toInteger('12.34'))//0console.log(_.toInteger(null))//0console.log(_.toInteger(new Error))

Since

1.0.0

Parameters

NameType
vany

Returns

number


toNumber

toNumber(v): number

转换任何对象为数字类型

Example

//NaNconsole.log(_.toNumber(null))//1console.log(_.toNumber('1'))//NaNconsole.log(_.toNumber([3,6,9]))//-0console.log(_.toNumber(-0))//NaNconsole.log(_.toNumber(NaN))//NaNconsole.log(_.toNumber('123a'))

Parameters

NameTypeDescription
vany任何值

Returns

number

对于null/undefined会返回NaN