Appearance
useToNumber
将字符串类型的响应式值转换为数字。
函数签名
ts
function useToNumber(
value: MaybeRefOrGetter<number | string>,
options?: UseToNumberOptions,
): ComputedRef<number>基础用法
参数
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| value | 需要转换的值(支持 ref / getter / 原始值) | MaybeRefOrGetter<number | string> | — |
| options | 配置项 | UseToNumberOptions | {} |
UseToNumberOptions
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| method | 转换方法 | 'parseFloat' | 'parseInt' | 'parseFloat' |
| radix | parseInt 的进制基数(仅 parseInt 有效) | number | — |
| nanToZero | NaN 时替换为 0 | boolean | false |
返回值
返回 ComputedRef<number>,值随源值变化自动更新。
代码示例
ts
import { ref } from 'vue'
import { useToNumber } from 'ljf-hooks'
const str = ref('123.45')
const num = useToNumber(str)
num.value // 123.45
// 使用 parseInt
const intNum = useToNumber(ref('42px'), { method: 'parseInt' })
intNum.value // 42
// NaN 替换为 0
const safe = useToNumber(ref('abc'), { nanToZero: true })
safe.value // 0