Skip to content

@pmun/utils / toNumber

Function: toNumber()

Call Signature

ts
function toNumber(value, defaultValue?): undefined | number;

将数字或十进制数字字符串转换为有限 number,支持科学计数法 不接受布尔值、对象、进制前缀、千位分隔符或带单位的字符串。 转换遵循 JavaScript number 的精度规则;需要保留原始精度时使用字符串。

Parameters

value

unknown

待转换的值,字符串自动去除首尾空白

defaultValue?

undefined

空值、无效输入或溢出时的返回值,默认为 undefined;可传入数字或 null

Returns

undefined | number

转换后的数字或指定的兜底值,返回类型随兜底值推导

Example

ts
toNumber('12.00') // 12
toNumber('12.50') // 12.5
toNumber('') // undefined,保留输入框的空状态
toNumber(null, 0) // 0,返回类型为 number
toNumber('', null) // null,返回类型为 number | null
toNumber('12px') // undefined

Call Signature

ts
function toNumber<T>(value, defaultValue): number | T;

将数字或十进制数字字符串转换为有限 number,支持科学计数法 不接受布尔值、对象、进制前缀、千位分隔符或带单位的字符串。 转换遵循 JavaScript number 的精度规则;需要保留原始精度时使用字符串。

Type Parameters

T

T extends undefined | null | number

Parameters

value

unknown

待转换的值,字符串自动去除首尾空白

defaultValue

T

空值、无效输入或溢出时的返回值,默认为 undefined;可传入数字或 null

Returns

number | T

转换后的数字或指定的兜底值,返回类型随兜底值推导

Example

ts
toNumber('12.00') // 12
toNumber('12.50') // 12.5
toNumber('') // undefined,保留输入框的空状态
toNumber(null, 0) // 0,返回类型为 number
toNumber('', null) // null,返回类型为 number | null
toNumber('12px') // undefined