[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Type](https://evolu.dev/docs/api-reference/common/Type) › NonNaNNumber

```ts
type NonNaNNumber = number & Brand<"NonNaN">;
```

Defined in: [packages/common/src/Type.ts:6508](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Type.ts#L6508)

[Number](https://evolu.dev/docs/api-reference/common/Type/variables/Number) other than `NaN`; infinities are allowed.

This is useful for arithmetic that deliberately saturates infinities to a
boundary but cannot assign a meaningful boundary to `NaN`. Excluding `NaN`
also makes ordering and clamping reliable because comparisons with `NaN` are
always false and most arithmetic propagates it.