Что не так с этим списком? - PullRequest
1 голос
/ 30 марта 2012

У меня есть список с этими значениями:

['1', '10', '100.3', '1000.4', '1000.42', '150', '200', '250', '304', '32000', '34']

Я проверяю, является ли значение списка > 100.2 && < 1000.4
и поместите значения в новый список.

Это вывод:

['1000.4', '1000.42', '150', '200', '250', '304', '400']

Что я не так сделал?
Почему 1000.4 и 1000.42 в списке и почему 100.3 нет в списке?

1 Ответ

3 голосов
/ 30 марта 2012

Элементы в списке для меня выглядят как строки, и когда вы конвертируете из строки в число, вы получаете только целую часть. попробуйте :echo '1000.4' + 0.0 например.

Используйте результат str2float(item) для сравнения с числом с плавающей запятой.

Причина этого в том, что поддержка float не является стандартной, и вам нужен стандартный результат для такой операции, иначе сценарии будут несовместимы между сборками -float и + float.

...