# StringToNumber

`type` in `services` · v0.8.2

<https://docs.seedcord.org/packages/services/0.8.2/types/string-to-number>

Converts a numeric string to a number.

## Examples

```ts
type PositiveInt = StringToNumber<'1234'>;
//=> 1234

type NegativeInt = StringToNumber<'-1234'>;
//=> -1234

type PositiveFloat = StringToNumber<'1234.56'>;
//=> 1234.56

type NegativeFloat = StringToNumber<'-1234.56'>;
//=> -1234.56

type PositiveInfinity = StringToNumber<'Infinity'>;
//=> Infinity

type NegativeInfinity = StringToNumber<'-Infinity'>;
//=> -Infinity

 String   Numeric   Template literal
```

## Declaration

```ts
type StringToNumber<S extends string> =
    S extends `${infer N extends number}`
        ? N
        : S extends "Infinity"
          ? PositiveInfinity
          : S extends "-Infinity"
            ? NegativeInfinity
            : never;
```
