🔢 Checks if a value is a finite number.
By default, it only returns true for actual number types (excluding NaN and Infinity).
⚠️
When coerce is true, it only attempts to coerce strings. Other types like null, boolean, etc., will still return false.
Syntax
import { isNumber } from '@opentf/std';
isNumber(value: unknown, coerce = false): booleanParameters
value: The value to check.coerce: Iftrue, it tries to parse numeric strings (supports numeric separators like_).
Returns
true if the value is a finite number (or numeric string when coerced), false otherwise.
Examples
isNumber(1) //=> true
isNumber(1.5) //=> true
isNumber(NaN) //=> false
isNumber(Infinity) //=> false
// Coercion
isNumber('1') //=> false
isNumber('1', true) //=> true
isNumber('1_000', true) //=> true
isNumber('abc', true) //=> false
// Other types
isNumber(null) //=> false
isNumber(true) //=> false
isNumber([]) //=> false