Как вырезать последние два символа в строке, а затем преобразовать в двойной? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь выполнить вычисление поля в ArcMap от одного поля к другому.Мне нужно нарезать последние два символа одного поля и преобразовать в число с плавающей точкой (или удвоить).

Я пытаюсь сделать это:

float(!StatedArea![-2])

Мои начальные значения (споле StatedArea) выглядит следующим образом:
12.99 a
0.2377 a
0.0041 a

Я просто хочу снять пробел и "a".

ВсеЯ получаю сообщение об ошибке 000539, с этим сообщением «ValueError: не удалось преобразовать строку в число с плавающей точкой»

Есть идеи, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Как уже говорилось, [:-2] отбрасывает два последних символа str. Хочу отметить, что в Python нет встроенного типа double. Согласно документации в большинстве реализаций, float Python эквивалентен C double. Поэтому, если вы будете использовать float, вы можете ожидать точности, эквивалентной double.

0 голосов
/ 15 апреля 2019
float(!StatedArea![:-2])

должно работать. Возможно, вы захотите вернуться к индексации списка в Python: https://www.tutorialspoint.com/python/python_lists.htm

...