Подтвердить что ты не робот

Должен ли я хранить номера телефонов в виде строк или целых чисел?

Я пытаюсь решить между сохранением номера телефона как string или int. Любые идеи?

4b9b3361

Ответ 1

В любой ситуации, подобной этой, подумайте: мне нужно что-то вычислить с этим значением? Если это не имеет никакого смысла, вы должны использовать строку. В этом случае нет логического случая, когда вы использовали бы номер телефона в качестве номера, поэтому используйте строку.

Ответ 2

Я рекомендую использовать строку, поскольку это дает вам большую гибкость при форматировании и не числовых символах, таких как расширение и т.д.

Ответ 3

Я бы предложил использовать String - помимо всего прочего, иначе вы не сможете хранить ведущие нули. Вы определенно не должны использовать int (слишком маленький) float или double (слишком большой риск потери данных); long или BigInteger может быть уместным (кроме проблемы с начальными нулями), но, честно говоря, я бы пошел с String. Таким образом, вы также можете хранить все тире или пробелы, которые пользователь вводил, чтобы облегчить запоминание номера, если вы хотите.

Ссылка: Каков правильный способ представления номеров телефонов?

Ответ 4

Я настоятельно рекомендую вам использовать string для этого.

Если вы собираетесь проверить ввод номера телефона, вы можете использовать regex lib matcher и pattern, чтобы убедиться, что номер телефона был введен в правильном формате.