Меню Закрыть

Как перевести char в int java

Содержание

Ниже приведен фрагмент кода,

Но я получаю пустой вывод.

Я получу 1 в качестве вывода.

Может кто-нибудь объяснить это? И если я хочу преобразовать int в char, как в первом фрагменте, что мне делать?

распечатает char с помощью значения ascii 1 (начало заголовка char, которое невозможно распечатать).

распечатает char с значением ascii 49 (один соответствует "1" )

Если вы хотите преобразовать цифру (0-9), вы можете добавить 48 к ней и произнести, или что-то вроде Character.forDigit(a, 10); .

Если вы хотите преобразовать int , как в значение ascii, вы можете использовать Character.toChars(48) , например.

Мой ответ похож на ответ jh314, но я объясню немного глубже.

Что вы должны сделать в этом случае:

Здесь мы использовали ‘0’, потому что символы на самом деле представлены значениями ASCII. "0" — это символ, представленный значением 48.

Мы набрали (a + ‘0’) и, чтобы сложить их, Java преобразовала ‘0’ в его значение ASCII, которое равно 48, а a равно 1, поэтому сумма равна 49. Затем мы сделали следующее:

Мы бросили int на char . ASCII, эквивалентный 49, равен "1". Вы можете преобразовать любую цифру в символ таким образом, и это будет умнее и лучше, чем использование метода .toString() а затем вычитает цифру методом .charAt() .

Кажется, что вы ищете метод Character.forDigit :

Существует также метод, который может конвертировать из char обратно в int:

Обратите внимание, что, изменяя RADIX , вы также можете поддерживать шестнадцатеричный (radix 16) и любой радиус до 36 (или Character.MAX_RADIX , как это также известно).

hola, ну, я прошел ту же проблему, но то, что я сделал, было следующим кодом.

При этом вы получите десятичное значение как тип char. Я использовал charAt() с индексом 0, потому что единственное значение в этой строке — "a", и, как вы знаете, позиция "a" в этой строке начинается с 0.

Читайте также:  Жидкая печать на конверте

Извините, если мой английский недостаточно объяснен, надеюсь, что это вам поможет.

Никто не ответил на настоящий "вопрос" здесь: вы преобразовываете int в char правильно; в таблице ASCII десятичное значение 01 является "началом заголовка", непечатаемым символом. Попробуйте найти таблицу ASCII и преобразовать значение int между 33 и 7E; что даст вам персонажи, на которые можно смотреть.

Всякий раз, когда вы вводите целое число целых чисел в char, оно возвращает значение ascii этого int (один раз пройдите через таблицу ascii для лучшего понимания)

Если мы говорим о типах классов, а не о примитивах, необходимо сделать следующий трюк:

В ASCII каждый символ имеет свой номер. И char ‘0’ это 48 для десятичного числа, ‘1’ это 49 и так далее. Так что если

В java a char есть int. Ваш первый фрагмент печатает символ, соответствующий значению 1 в схеме кодирования по умолчанию (что, вероятно, является Unicode). Символ Unicode U + 0001 является непечатаемым символом, поэтому вы не видите никакого вывода.

Если вы хотите распечатать символ "1", вы можете посмотреть значение "1" в используемой схеме кодирования. В Unicode это 49 (то же, что и ASCII). Но это будет работать только для цифр 0-9.

Возможно, вам лучше использовать строку, а не char, и использовать встроенный метод toString() Java:

Это будет работать независимо от вашей системной кодировки и будет работать для многозначных чисел.

7 Haim Lvov [2017-09-21 15:12:00]

(Я новичок в программировании на Java)

Я имею, например:

и мне нужно получить число в апострофах, цифра 9 сама. Я попытался сделать следующее,

но это не сработало.

Итак, что мне делать, чтобы получить цифру в апострофе?

Читайте также:  Смайлик на конец презентации

java char type-conversion int

5 ответов

30 Решение khelwood [2017-09-21 15:14:00]

Как это бывает, значение ascii/unicode символа ‘9’ на девять больше, чем значение ‘0’ (аналогично для других цифр).

Таким образом, вы можете получить значение int десятичной цифры с использованием вычитания.

10 azro [2017-09-21 15:17:00]

У меня есть char ‘9’ , он сохранит свой код ASCII, поэтому, чтобы получить значение int, у вас есть 2 способа

И это факт, это работает также:

Вы сохраняете код 9 , который соответствует horizontal tab (вы можете видеть при печати как String , bu также можете использовать ее как int как вы видите выше

6 ravi [2017-09-21 15:23:00]

Вы можете использовать статические методы из класса Character, чтобы получить числовое значение из char.

0 Amol Raje [2017-09-21 15:22:00]

Если вы хотите получить ASCII-значение символа или просто преобразовать его в int, вам нужно отбросить из char в int.

Какое литье? Кастинг — это когда мы явно конвертируем из одного типа данных примитива или класса в другой. Вот краткий пример.

В этом примере у нас есть символ (‘a’), и мы передаем его целому числу. Печать этого целочисленного значения даст нам значение ASCII ‘a’.

Иногда возникают ситуации, когда имея величину какого-либо определенного типа, необходимо присвоить ее переменной другого типа. С переменными и их типами мы познакомились в прошлом уроке, в этом уроке мы рассмотрим наиболее популярные преобразования типов в Java:

Java преобразование строки в число (STRING to NUMBER)

В следующих примерах будет использована конструкция try-catch. Это необходимо для обработки ошибки, в случае, если строка содержит иные символы кроме чисел или число, выходящее за рамки диапазона допустимых значений определенного типа.

Читайте также:  Смартфоны huawei honor лучшие модели

Например, строка «somenumber» не может быть переведена в тип int или в любой другой числовой тип. В это случае, при компеляции возникнет ошибка. Чтобы этого избежать, следует обезопаситься с помощью конструкции try-catch.

String to byte

C использованием конструктора

С использованием метода valueOf класса Byte

С использованием метода parseByte класса Byte

Перевод строки в массив байтов и обратно из массива байтов в строку

String to short

C использованием конструктора

C использованием метода valueOf класса Short

C использованием метода parseShort класса Short

String to int

C использованием конструктора

C использованием метода valueOf класса Integer

C использованием метода parseInt класса Integer

String to long

C использованием конструктора

C использованием метода valueOf класса Long

C использованием метода parseLong класса Long

String to float

С использованием конструктора

C использованием метода valueOf класса Float

C использованием метода parseFloat класса Float

String to double

С использованием конструктора

C использованием метода valueOf класса Double

C использованием метода parseDouble класса Double

String to boolean

Преобразование строки в логический тип 2мя способами. Обратите внимание, что строка не соответствующая true, будет преобразована в логическое значение false.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.