- Разобрать строку в число с плавающей запятой или int в Java
- 1. Использование Double.parseDouble() метод
- 2. Использование Float.parseFloat() метод
- 3. Использование Integer.parseInt() метод
- 4. Использование Number class
- Converting Between Numbers and Strings
- Converting Numbers to Strings
- Java: преобразование строки в число и наоборот
- Как преобразовать строку в число в Java?
- Преобразуем строку в число Java: String to byte
- Преобразуем строку в число в Java: String to int
- Как преобразовать число в строку в Java?
- 1. Преобразование int to String в Java:
- 2. Преобразование double to String в Java:
- 3. Преобразуем long to String в Java:
- 4. Преобразуем float to String в Java:
- 🎅MnogoBlog
- ⛄как создать сайт на wordpress, настроить и оптимизировать wordpress
- Java Урок 13: Преобразование типов
- Похожие записи:
- Добавить комментарий Отменить ответ
Разобрать строку в число с плавающей запятой или int в Java
В этом посте мы обсудим, как преобразовать строку в число double, float или int в Java.
1. Использование Double.parseDouble() метод
Стандартное решение для анализа строки для получения соответствующего двойного значения использует метод Double.parseDouble() метод.
The Double.parseDouble() броски метода NumberFormatException если строка не содержит анализируемого двойника. Чтобы избежать внезапного завершения программы, заключите свой код в блок try-catch.
Обратите внимание, вы не можете анализировать такие строки, как 1.1 с использованием Integer.parseInt() метод. Чтобы получить целочисленное значение, вы можете привести результирующее двойное значение.
2. Использование Float.parseFloat() метод
В качестве альтернативы вы можете использовать Float.parseFloat() метод для синтаксического анализа строки в число с плавающей запятой.
Чтобы получить целочисленное значение, приведите результирующее значение с плавающей запятой, как обсуждалось ранее.
3. Использование Integer.parseInt() метод
Чтобы получить целочисленное значение, представленное строкой в десятичном виде, вы можете использовать Integer.parseInt() метод, который анализирует строку как десятичное целое число со знаком.
4. Использование Number class
Чтобы проанализировать текст с начала заданной строки для получения числа, вы можете использовать метод parse() метод NumberFormat учебный класс. Этот метод может не использовать всю строку и выдает ParseException если строка начинается с любого неразборчивого нечислового символа.
The NumberFormat.parse() метод возвращает Number экземпляр класса, который предлагает intValue() , longValue() , floatValue() , doubleValue() , byteValue() , а также shortValue() методы для получения значения указанного числа в качестве соответствующего типа метода.
Converting Between Numbers and Strings
Frequently, a program ends up with numeric data in a string objecta value entered by the user, for example.
The Number subclasses that wrap primitive numeric types ( Byte , Integer , Double , Float , Long , and Short ) each provide a class method named valueOf that converts a string to an object of that type. Here is an example, ValueOfDemo , that gets two strings from the command line, converts them to numbers, and performs arithmetic operations on the values:
public class ValueOfDemo < public static void main(String[] args) < // this program requires two // arguments on the command line if (args.length == 2) < // convert strings to numbers float a = (Float.valueOf(args[0])).floatValue(); float b = (Float.valueOf(args[1])).floatValue(); // do some arithmetic System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); System.out.println("a % b = " + (a % b)); >else < System.out.println("This program " + "requires two command-line arguments."); >> >
The following is the output from the program when you use 4.5 and 87.2 for the command-line arguments:
a + b = 91.7 a - b = -82.7 a * b = 392.4 a / b = 0.0516055 a % b = 4.5
Note: Each of the Number subclasses that wrap primitive numeric types also provides a parseXXXX() method (for example, parseFloat() ) that can be used to convert strings to primitive numbers. Since a primitive type is returned instead of an object, the parseFloat() method is more direct than the valueOf() method. For example, in the ValueOfDemo program, we could use:
float a = Float.parseFloat(args[0]); float b = Float.parseFloat(args[1]);
Converting Numbers to Strings
Sometimes you need to convert a number to a string because you need to operate on the value in its string form. There are several easy ways to convert a number to a string:
int i; // Concatenate "i" with an empty string; conversion is handled for you. String s1 = "" + i;
// The valueOf class method. String s2 = String.valueOf(i);
Each of the Number subclasses includes a class method, toString() , that will convert its primitive type to a string. For example:
int i; double d; String s3 = Integer.toString(i); String s4 = Double.toString(d);
The ToStringDemo example uses the toString method to convert a number to a string. The program then uses some string methods to compute the number of digits before and after the decimal point:
public class ToStringDemo < public static void main(String[] args) < double d = 858.48; String s = Double.toString(d); int dot = s.indexOf('.'); System.out.println(dot + " digits " + "before decimal point."); System.out.println( (s.length() - dot - 1) + " digits after decimal point."); >>
The output of this program is:
3 digits before decimal point. 2 digits after decimal point.
Java: преобразование строки в число и наоборот
В некоторых случаях при программировании на Java нам нужно выполнить преобразование строки в число или числа в строку. Это бывает, если мы имеем величину определённого типа и желаем присвоить эту величину переменной другого типа. Преобразования типов в Java осуществляются разными способами, давайте рассмотрим наиболее популярные из них.
Как преобразовать строку в число в Java?
Речь идёт о преобразовании String to Number. Обратите внимание, что в наших примерах, с которыми будем работать, задействована конструкция try-catch. Это нужно нам для обработки ошибки в том случае, когда строка содержит другие символы, кроме чисел либо число, которое выходит за рамки диапазона предельно допустимых значений указанного типа. К примеру, строку «onlyotus» нельзя перевести в тип int либо в другой числовой тип, т. к. при компиляции мы получим ошибку. Для этого нам и нужна конструкция try-catch.
Преобразуем строку в число Java: String to byte
Выполнить преобразование можно следующими способами:
C помощью конструктора:
try < Byte b1 = new Byte("10"); System.out.println(b1); >catch (NumberFormatException e)
С помощью метода valueOf класса Byte:
String str1 = «141»; try < Byte b2 = Byte.valueOf(str1); System.out.println(b2); >catch (NumberFormatException e)
С помощью метода parseByte класса Byte:
byte b = 0; String str2 = «108»; try < b = Byte.parseByte(str2); System.out.println(b); >catch (NumberFormatException e)
А теперь давайте посмотрим, как выглядит перевод строки в массив байтов и обратно в Java:
String str3 = «20150»; byte[] b3 = str3.getBytes(); System.out.println(b3); //массив байтов переводится обратно в строку try < String s = new String(b3, "cp1251"); System.out.println(s); >catch (UnsupportedEncodingException e)
Преобразуем строку в число в Java: String to int
Здесь, в принципе, всё почти то же самое:
Используем конструктор:
try < Integer i1 = new Integer("10948"); System.out.println(i1); >catch (NumberFormatException e)
Используем метод valueOf класса Integer:
String str1 = «1261»; try < Integer i2 = Integer.valueOf(str1); System.out.println(i2); >catch (NumberFormatException e)
Применяем метод parseInt:
int i3 = 0; String str2 = «203955»; try < i3 = Integer.parseInt(str2); System.out.println(i3); >catch (NumberFormatException e)
Аналогично действуем и для других примитивных числовых типов данных в Java: short, long, float, double, меняя соответствующим образом названия классов и методов.
Как преобразовать число в строку в Java?
Теперь поговорим о преобразовании числа в строку (Number to String). Рассмотрим несколько вариантов:
1. Преобразование int to String в Java:
int i = 53; String str = Integer.toString(i); System.out.println(str);2. Преобразование double to String в Java:
double i = 31.6e10; String str = Double.toString(i); System.out.println(str);3. Преобразуем long to String в Java:
long i = 3422222; String str = Long.toString(i); System.out.println(str);4. Преобразуем float to String в Java:
float i = 3.98f; String str = Float.toString(i); System.out.println(str);🎅MnogoBlog
⛄как создать сайт на wordpress, настроить и оптимизировать wordpress
Java Урок 13: Преобразование типов
Иногда возникают ситуации, когда имея величину какого-либо определенного типа, необходимо присвоить ее переменной другого типа.
Скачать исходники для статьи можно нижеC использованием конструктора
Byte b1 = new Byte("10"); System.out.println(b1);С использованием метода valueOf класса Byte
String str1 = "111"; Byte b2 = Byte.valueOf(str1); System.out.println(b2);С использованием метода parseByte класса Byte
byte b = 0; String str2 = "100"; b = Byte.parseByte(str2); System.out.println(b);Перевод строки в массив байтов и обратно из массива байтов в строку
String str3 = "20150"; byte[] b3 = str3.getBytes(); System.out.println(b3); //массив байтов переводим обратно в строку String s = new String(b3, "cp1251"); System.out.println(s);C использованием конструктора
Short s1 = new Short("68"); System.out.println(s1);C использованием метода valueOf класса Short
String str1 = "59"; Short s2 = Short.valueOf(str1); System.out.println(s2);C использованием метода parseShort класса Short
short s3 = 0; String str2 = "100"; s3 = Short.parseShort(str2); System.out.println(s3);C использованием конструктора
Integer i1 = new Integer("20349"); System.out.println(i1);C использованием метода valueOf класса Integer
String str1 = "1451"; Integer i2 = Integer.valueOf(str1);C использованием метода parseInt класса Integer
int i3 = 0; String str2 = "102944"; i3 = Integer.parseInt(str2); System.out.println(i3);C использованием конструктора
Long l1 = new Long("11111111"); System.out.println(l1);C использованием метода valueOf класса Long
String str1 = "222222222"; Long l2 = Long.valueOf(str1); System.out.println(l2);C использованием метода parseLong класса Long
long l3 = 0; String str2 = "333333333"; l3 = Long.parseLong(str2); System.out.println(l3);С использованием конструктора
Float f1 = new Float("123.5"); System.out.println(f1);C использованием метода valueOf класса Float
String str1 = "3.1415"; Float f2 = Float.valueOf(str1); System.out.println(f2);C использованием метода parseFloat класса Float
float f3 = 0; String str2 = "36.6"; f3 = Float.parseFloat(str2); System.out.println(f3);С использованием конструктора
Double d1 = new Double("4.4e10"); System.out.println(d1);C использованием метода valueOf класса Double
String str1 = "564.6e10"; Double d2 = Double.valueOf(str1); System.out.println(d2);C использованием метода parseDouble класса Double
double d3 = 0; String str2 = "13.7e10"; d3 = Double.parseDouble(str2); System.out.println(d3);Преобразование строки в логический тип 2мя способами. Обратите внимание, что строка не соответствующая true, будет преобразована в логическое значение false.
String s1 = "True"; String s2 = "yes"; boolean bool1, bool2, boolean1, boolean2; //с использованием метода parseBoolean bool1 = Boolean.parseBoolean(s1); bool2 = Boolean.parseBoolean(s2); System.out.println( bool1 ); System.out.println( bool2 ); //c использованием метода valueOf boolean1 = Boolean.valueOf(s1); boolean2 = Boolean.valueOf(s2); System.out.println( boolean1 ); System.out.println( boolean2 );C использованием метода toString класса Integer
int i = 35; String str = Integer.toString(i); System.out.println(str);с использованием операции добавления класса String
int i = 35; String str = "" + i; System.out.println(str);C использованием метода toString класса Double
double i = 32.4; String str = Double.toString(i); System.out.println(str);с использованием операции добавления класса String
double i = 32.4; String str = "" + i; System.out.println(str);C использованием метода toString класса Long
long i = 3422222; String str = Long.toString(i); System.out.println(str);с использованием операции добавления класса String
long i = 3422222; String str = "" + i; System.out.println(str);C использованием метода toString класса Float
float i = 3.46f; String str = Float.toString(i); System.out.println(str);с использованием операции добавления класса String
float i = 3.46f; String str = "" + i; System.out.println(str);Преобразования символа char
char ch = 'S'; // c использованием класса Character String charToString = Character.toString(ch); System.out.println(charToString); // с использованием операции добавления класса String String str = "" + ch; System.out.println(str); //с использованием массива String fromChar = new String(new char[] < ch >); System.out.println(fromChar); // с использованием метода valueOf класса String String valueOfchar = String.valueOf(ch); System.out.println(valueOfchar);char ch = '9'; // c использованием метода getNumericValue класса Character int i1 = Character.getNumericValue(ch); System.out.println(i1); // c использованием метода digit класса Character int i2 = Character.digit(ch,10); System.out.println(i2);int i = 2015; long l = (long) (i); System.out.println(l);int i = 2015; float f = (float) (i); System.out.println(f);long l = 214748364; int i = (int) l; System.out.println(i);double d = 3.14; int i = (int) d; System.out.println(i);обратите внимание на то, что после преобразования double в int отбрасывается дробная часть и остается только целое число. Так, в нашем примере, на консоль будет выведено число 3.
Похожие записи:
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.