Python, преобразовать число в строку «как есть» - PullRequest
0 голосов
/ 29 сентября 2010

Использование Python 2.6Я хочу иметь возможность преобразовывать числа, такие как 00000, 000.00004 и 001 в строки.Так, чтобы каждая строка была '00000', '000.00004' и '001' соответственно.

Также необходимо, чтобы способ сделать это был одинаковым для всех чисел, и также справляться, когда в него вводятся буквы,Например, foo должно стать 'foo', 2bar должно стать '2bar', но 001 все равно должно быть '001'.

Используя str ([объект]), вышеприведенные числа перейдут в «0», «4e-05» и «1» соответственно.Любые идеи?

РЕДАКТИРОВАТЬ:

@ unholysampler (и все остальные) вы, конечно, правы.

Я просто запутался, потому что Sqlite3 брал строки и затем преобразовывал ихк целым числам или числам с плавающей запятой при помещении их в свою базу данных, несмотря на то, что она объявлена ​​как строковый столбец.Но это совсем другая проблема.

ВТОРОЕ РЕДАКТИРОВАНИЕ:

Если кому-то было любопытно, почему это делает Sqlite3, то это потому, что я на самом деле установил в схеме столбец типа 'STRING', где он должен был бытьвведите 'TEXT' (см. http://www.sqlite.org/datatype3.html) - это было объединено с «динамической типизацией» Sqlite (см. http://www.sqlite.org/faq.html#q3), и этого было достаточно, чтобы меня запутать: -)

Спасибо, что далихорошие ответы в любом случае: D

Ответы [ 2 ]

8 голосов
/ 29 сентября 2010

Нет числа 0000 или 001. Есть только 0 и 1. Если вы хотите создать строковое представление числа, вы можете использовать форматирование строки для заполнения нулей.

n = 1
print '%03d' % n //001
0 голосов
/ 29 сентября 2010

Первым шагом будет: однако вы получаете число, которое, по вашему мнению, должно быть 00000 вместо 0 ... на самом деле не конвертируйте его в число. Просто держите это как строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...