Как определить, является ли значение String типом Float или Double? - PullRequest
0 голосов
/ 19 октября 2019

Как определить, является ли данный String тип данных floating point или double?

Я уже просмотрел большую часть переполнения стека и не смог найти никакого решения, специфичного для Typescript.

1 Ответ

4 голосов
/ 19 октября 2019

JavaScript (и TypeScript) не имеют double в отличие от «плавающей запятой». Все числа с плавающей запятой - фактически, не BigInt числа - являются двоичными числами с двойной точностью IEEE-754 (тип обычно называется double).

Итак ... если это строкаВы можете преобразовать в число, кроме как с помощью конструктора BigInt, полученное число представляет собой число с плавающей запятой double.

Иногда это удивительно, поскольку JavaScript имеет 32-битный int / uint в качестве временное значение иногда, например, при обработке побитовых операторов. Но все числа JavaScript равны double s после завершения расчета. (Значения в типизированных массивах имеют различные типы, но как только они выходят из типизированного массива, они double с.)

...