Преобразование целого числа в строку в Java
В разработке программного обеспечения на Java часто возникает необходимость преобразования целого числа в строку. Например, при работе с числовыми данными, которые необходимо отобразить в текстовом формате или передать в метод, принимающий строку.
Рассмотрим следующий код:
int num = 789;
Отсюда, нам нужно получить строку «789» .
В Java есть несколько способов для преобразования целого числа в строку.
Использование метода toString()
Самым простым и часто используемым методом является использование метода toString() класса Integer .
int num = 789; String str = Integer.toString(num);
Использование метода valueOf()
Этот метод также преобразует целое число в строку. Он является статическим методом класса String .
int num = 789; String str = String.valueOf(num);
Использование оператора конкатенации
В Java, оператор + используется не только для математического сложения, но и для конкатенации строк. Если один из операндов является строкой, то Java автоматически преобразует второй операнд в строку.
int num = 789; String str = "" + num;
Использование метода format()
Метод format() класса String позволяет форматировать строку, включая преобразование целого числа в строку.
int num = 789; String str = String.format("%d", num);
Все эти способы преобразуют целое число в строку. Выбор конкретного метода зависит от конкретной ситуации и личных предпочтений разработчика.
Преобразование числа в строку
Преобразование short в строку
Есть переменная sh типа short, требуется узнать первую цифру этого числа. Пытаюсь сделать путем.
Преобразование массива в строку
Допустим у нас есть рандомный текст в виде переменной string. Нужно методом split убрать из него.
Преобразование строки с кодами типа \uXXXX в строку с символами
Получаю строку, которая вместо кириллических символов содержит их коды в стиле \uXXXX, надо ее.
Преобразование числа в символ
Подскажите метод для преобразования числа в символ, с исп-м классов-оберток. Как здесь, только.
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
1 2 3 4 5 6 7 8 9
public class ConvertIntToString { public static void main(String[] args) { int aInt = 1; String aString = Integer.toString(aInt); } }
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
String a= 5+"";
36 / 36 / 10
Регистрация: 04.02.2010
Сообщений: 82
И финалочка:
String s = String.valueOf(123);
Данный метод удобен тем, что параметр может быть и интом, и даблом, и float и тд.
Регистрация: 16.02.2014
Сообщений: 170
Записей в блоге: 1
Сообщение от Nazz
вот ответ:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
public class ConvertIntToString public static void main(String[] args) int aInt = 1;
String aString = Integer.toString(aInt);
>
>
У меня ругается. Надо какую то библиотеку вставить ?
Регистрация: 11.05.2014
Сообщений: 21
нет библиотеку не надо подключать!
попробуй код без циферок 123456789 запустить
Рожденная для битвы
293 / 71 / 14
Регистрация: 08.11.2009
Сообщений: 1,254
Как думете, почему код не работает в Эклипс?
1 2 3 4 5 6 7 8 9 10
String s; for (int i=0; i=9; i++){ s=Integer.toString(i); if (string1.indexOf(s)!=-1) { fD=true; return; } }
Am I evil? Yes, I am!
16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624
Сообщение от marina2
не работает в Эклипс
Вы же понимаете, что IDE — это просто навороченый блокнот?
Теперь подставляем в фразу — «почему не работает в блокноте?». Звучит?
По сабжу — весь код в студию.
Рожденная для битвы
293 / 71 / 14
Регистрация: 08.11.2009
Сообщений: 1,254
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String string1 = scanner.nextLine(); int k=0; boolean fU=false, fL=false, fD=false; char stringU [] = new char[35]; for (int i=65; i=90; i++){ stringU[k]=(char)i; if (string1.indexOf(Character.toString(stringU[k]))!=-1) { fU=true; return; } k++; } k=0; char stringL[] = new char[35]; for (int i=97; i=122; i++){ stringL[k]=(char)i; if (string1.indexOf(Character.toString(stringU[k]))!=-1) { fL=true; return; } k++; } String s; for (int i=0; i=9; i++){ s=Integer.toString(i); if (string1.indexOf(s)!=-1) { fD=true; return; } } if (string1.length()8) System.out.print("No"); else if (fU==true) System.out.print("No"); else if (!fL) System.out.print("No"); else if (!fD) System.out.print("No"); else System.out.print("YES"); System.out.println(string1); } }
TypeScript Преобразование типов
Преобразование типов — это возможность преобразования из одного типа данных в другой. TypeScript предоставляет нам встроенные функции для выполнения преобразования типов.
Мы можем преобразовать число в строку, используя конструктор строки, как показано ниже.
let number: number = 42; let numberAsString: string = String(number); console.log(typeof number); console.log(typeof numberAsString);
Результат:
number
string
Мы можем преобразовать String в Number, используя конструктор Number, как показано ниже.
let stringAsNumber: string = "42"; let number: number = Number(stringAsNumber); console.log(typeof stringAsNumber); console.log(typeof number);
Результат:
string
number
Share this page:
Report Error in Content
parseInt()
Функция parseInt() принимает строку в качестве аргумента и возвращает целое число в соответствии с указанным основанием системы счисления.
Интерактивный пример
Синтаксис
parseInt(string, radix);
Параметры
Значение, которое необходимо проинтерпретировать. Если значение параметра string не принадлежит строковому типу, оно преобразуется в него (с помощью абстрактной операции ToString ). Пробелы в начале строки не учитываются.
Целое число в диапазоне между 2 и 36, представляющее собой основание системы счисления числовой строки string , описанной выше. В основном пользователи используют десятичную систему счисления и указывают 10. Всегда указывайте этот параметр, чтобы исключить ошибки считывания и гарантировать корректность исполнения и предсказуемость результата. Когда основание системы счисления не указано, разные реализации могут возвращать разные результаты.
Возвращаемое значение
Целое число, полученное парсингом (разбором и интерпретацией) переданной строки. Если первый символ не получилось сконвертировать в число, то возвращается NaN .
Описание
Функция parseInt преобразует первый переданный ей аргумент в строковый тип, интерпретирует его и возвращает целое число или значение NaN . Результат (если не NaN ) является целым числом и представляет собой первый аргумент ( string ), рассматривающийся как число в указанной системе счисления ( radix ). Например, основание 10 указывает на преобразование из десятичного числа, 8 — восьмеричного, 16 — шестнадцатеричного и так далее. Если основание больше 10 , то для обозначения цифр больше 9 используются буквы. Например, для шестнадцатеричных чисел (основание 16) используются буквы от A до F .
Если функция parseInt встречает символ, не являющийся числом в указанной системе счисления, она пропускает этот и все последующие символы (даже, если они подходящие) и возвращает целое число, преобразованное из части строки, предшествовавшей этому символу. parseInt отсекает дробную часть числа. Пробелы в начале и конце строки разрешены.
Так как некоторые числа включают символ e в своём строковом представлении (например, 6.022e23 ), то использование parseInt для усечения числовых значений может дать неожиданные результаты, когда используются очень малые или очень большие величины. parseInt не должна использоваться как замена для Math.floor() .
Если основание системы счисления имеет значение undefined (не определено) или равно 0 (или не указано), то JavaScript по умолчанию предполагает следующее:
- Если значение входного параметра string начинается с » 0x » или » 0X «, за основание системы счисления принимается 16, и интерпретации подвергается оставшаяся часть строки.
- Если значение входного параметра string начинается с «0», за основание системы счисления принимается либо 8, либо 10, в зависимости от конкретной реализации. В спецификации ECMAScript 5 прописано использование 10 (десятичная система), но это поддерживается ещё не всеми браузерами, поэтому необходимо всегда указывать основание системы счисления при использовании функцииparseInt .
- Если значение входного параметра string начинается с любого другого символа, система счисления считается десятичной (основание 10).
Если первый символ строки не может быть преобразован в число, parseInt возвращает значение NaN .
С точки зрения математики, значение NaN не является числом в какой-либо системе счисления. Чтобы определить, вернёт ли parseInt значение NaN в качестве результата, можно вызвать функцию isNaN . Если NaN участвует в арифметических операциях, результатом также будет NaN .
Для преобразования числа в строку в указанной системе счисления, используйте intValue.toString(radix) .
Примеры
Пример: Использование parseInt
Все следующие примеры возвращают 15 :
parseInt(" 0xF", 16); parseInt(" F", 16); parseInt("17", 8); parseInt(021, 8); parseInt("015", 10); //parseInt(015, 10); вернёт 15 parseInt(15.99, 10); parseInt("FXX123", 16); parseInt("1111", 2); parseInt("15*3", 10); parseInt("15e2", 10); parseInt("15px", 10); parseInt("12", 13);
Все следующие примеры возвращают NaN :
parseInt("Hello", 8); // Не является числом parseInt("546", 2); // Неверное число в двоичной системе счисления
Все следующие примеры возвращают -15 :
parseInt("-F", 16); parseInt("-0F", 16); parseInt("-0XF", 16); parseInt(-15.1, 10); parseInt(" -17", 8); parseInt(" -15", 10); parseInt("-1111", 2); parseInt("-15e1", 10); parseInt("-12", 13);
Все следующие примеры возвращают 4 :
parseInt(4.7, 10); parseInt(4.7 * 1e22, 10); // Очень большие числа становятся 4 parseInt(0.00000000000434, 10); // Очень маленькие числа становятся 4
Следующий пример возвращает 224 :
parseInt("0e0", 16);
Восьмеричная интерпретация без указания системы счисления
Хотя это не поощряется в спецификацией ECMAScript 3 и запрещено в ECMAScript 5, многие реализации интерпретируют числовую строку, начинающуюся с 0 , как восьмеричную. Следующий пример может иметь как восьмеричный, так и десятичный результат. Чтобы избежать непредвиденного результата, всегда указывайте основание системы счисления.
parseInt("0e0"); // 0 parseInt("08"); // 0, '8' не является цифрой в восьмеричной системе.
ECMAScript 5 устраняет восьмеричную интерпретацию
Спецификация ECMAScript 5 функции parseInt больше не разрешает трактовать в восьмеричной системе счисления строки, начинающиеся с 0 . ECMAScript 5 провозглашает:
Функция parseInt производит целочисленное значение в результате интерпретации содержимого строкового аргумента в соответствии с указанным основанием системы счисления. Пробел в начале строки не учитывается. Если основание системы счисления не определено или равно 0 , оно считается равным 10 , за исключением случаев, когда строка начинается с пар символов 0x или 0X : тогда за основание принимается 16. Если основанием системы счисления указано 16 , число также может начинаться с пар символов 0x или 0X .
В этом ECMAScript 5 расходится со спецификацией ECMAScript 3, в которой восьмеричная интерпретация не поощрялась, но и не была запрещена.
Поскольку на момент 2013 года описанное выше поведение было применено не во всех реализациях, а поддержка старых браузеров является необходимой, всегда указывайте основание системы счисления.
Более строгая функция интерпретации
Иногда необходим более строгий способ интерпретации целочисленных значений. В этом могут помочь регулярные выражения:
var filterInt = function (value) if (/^(\-|\+)?([0-9]+|Infinity)$/.test(value)) return Number(value); return NaN; >; console.log(filterInt("421")); // 421 console.log(filterInt("-421")); // -421 console.log(filterInt("+421")); // 421 console.log(filterInt("Infinity")); // Infinity console.log(filterInt("421e+0")); // NaN console.log(filterInt("421hop")); // NaN console.log(filterInt("hop1.61803398875")); // NaN console.log(filterInt("1.61803398875")); // NaN
Спецификация
Specification |
---|
ECMAScript Language Specification # sec-parseint-string-radix |
Поддержка браузерами
BCD tables only load in the browser
Смотрите также
- parseFloat()
- Number.parseFloat()
- Number.parseInt()
- isNaN()
- Number.toString()
- Object.valueOf
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.