Использование String
. Помимо всего прочего, вы не сможете хранить ведущие нули, если используете целые числа. Вы определенно не должен использовать int
(слишком маленький) float
или double
(слишком большой риск потери данных - см. Ниже); long
или BigInteger
может быть уместным (кроме проблемы с нулевыми задачами), но, честно говоря, я бы пошел с String
. Таким образом вы можете также хранить любые тире или пробелы, которые пользователь вводил, чтобы было легче запомнить номер, если хотите.
С точки зрения «потери данных», упомянутой выше для float
и double
- float
, определенно не хватает точности; double
может работать, если вы счастливы, что вам никогда не понадобится более 16 цифр (на пару меньше, чем вы получите с long
), но вам нужно быть очень и очень осторожным, чтобы где угодно вы конвертировали значение с double
в string
, вы получили точное значение. Многие преобразования форматирования дадут вам приблизительное значение, которое может быть точным, например, 10 значащими цифрами, но вам нужно точное целое число. В принципе, использование плавающей запятой для телефонных номеров - принципиально плохая идея. Если у вас есть, чтобы использовать числовой тип с фиксированной шириной, используйте long
, но в идеале избегайте его полностью.
@ Raze2dust: В этом случае нет необходимости в каком-либо коде. –
@ Jon Я подразумевал для части, что он отображает случайное число. Это понятно, если оно отображает число с ведущими нулями, усеченными, но случайное число? Мне нужно было бы увидеть код, чтобы решить это. –
@ Raze2dust: Ну, а не «случайный» - но сохранение его в «двойном» может, конечно, потерять данные. –