2015-05-25 4 views
1

Например: У меня есть строка, которая говорит «Ямс». Я хочу превратить его в одно целое «8997109115». Как это сделать?Как преобразовать строку char в целое число в Java?

+5

Включение "Ямс" в "8997109115"? Какая связь между двумя строками? И почему этот ввод дает именно этот вывод? –

+0

@RaphaelMiedl Он хочет взять значение char и не добавлять их, а объединить их в строку, а затем преобразовать в число. – Forseth11

ответ

2

Вы не захотите использовать целое число, так как это будет очень большим очень быстрым и длинным даже не будет содержать некоторые строки.

Используйте это:

String yams = "Yams"; 
String con = ""; 
for(int i = 0; i < yams.length(); i++){ 
    con += (int) yams.charAt(i); 
} 
long singleLong = Long.parseLong(con); 

Это будет первым преобразовать строку в строку с значениями символов с циклом. Так как это все числа, вы можете использовать Long.parseLong (string), чтобы преобразовать его в длинный. Будьте осторожны, потому что, если вы сделаете строку слишком длинной, она даст вам исключение в числовом формате, потому что число слишком велико.

+0

Спасибо. Я должен был добавить, что «8997109115» - это все коды ascii, объединенных вместе. Наверное, ты все равно понял это. Из любопытства, о том, как долго вы думаете, что целое число может получить, прежде чем оно даст ошибку? – TheLollrax

+0

Целое число может иметь только максимальный размер 2,147,483,647 и минимальный размер -2,147,483,647. Если что-нибудь, вам может быть лучше оставить его в виде строки (в зависимости от того, для чего вам это нужно). – Forseth11

+0

Код выглядит довольно хорошо. – thinkinjava

0

Невозможно преобразовать переменную String в Integer. Вы можете «извлечь» целое число из строки:

int foo = Integer.parseInt("1234"); 

Но в вашем примере это не может быть предварительно.

+1

Да, может. Код, который я разместил, делает именно то, что он попросил. Вы можете преобразовать его в целое число, потому что каждый символ может быть отлит в целое число. Затем вы можете объединить целые числа и сделать их строкой чисел, которая может быть проанализирована. (До тех пор, пока он не слишком большой, попробуйте запустить код, который я опубликовал. Он выводит то, что он хочет, чтобы он выводил. – Forseth11

+0

Спасибо. Но я думаю, что он должен был хотя бы дать уточнения, что двоичный код «Ямс» "есть" 8997109115 "в базе 10. – Smallware

Смежные вопросы