Почему если числовое значение в массиве содержит более 2 точек то интерпретатор считает его строкой?
Объясните пожалуйста данное поведение, и как мне преобразовать в числовое значение эти строки.
Дело в том что мне нужно перебрать массив и если там есть текстовое значение удалить его, оставив только числа
Алексей Тен, не понял, это парсер xlsx в json и он автоматом проставляет кавычки там где число с более 1й точкой. Да и вообще если я напишу без кавычек такое число интерпретатор будет ругаться. А мне нужно сохранить эти данные в числовом значении и отсортировать.
Александр Аксентьев, нет такой математики, данные числа это коды наменклатуры взятые из exel. Дело в том что там в эксель есть не только коды но и строки, а мне надо вырезать эти строки и оставить только числовые значение. Вот я и через typeof проверяю а у меня все значения строковые
Фарид Ныгиметжанов, в питоне я бы скорее всего так и сделал. класс который умеет работать со специфическими строками. может там помимо двух точек будут еще условия, буквы вместе с цифрами, 2+ точек (инициализация) или дополнительные оперции сортировка там или форматирование (методы класса). если можно в js описать свой тип (так и не ответил на вопрос), то помоему это самое простое решение
Почему если числовое значение в массиве содержит более 2 точек то интерпретатор считает его строкой. Если я напишу без кавычек такое число интерпретатор будет ругаться.
Потому что не существует типа "число с плавающими точками". Есть число с "плавающей точкой". Вы до сих пор этого не понимаете? Вам передают (извините) всякую невалидную х**ню на фронт, а вы прогибаетесь под этих наркоманов и пытаетесь впихнуть невпихуемое. Учитесь взаимодействовать с людьми, объясняя, что от вас просят невозможного. Хотите число - ок, отбрасывайте все числа, что идут после второй точки и будет вам число. Другого здесь не дано и быть не может. Смиритесь :)