Преобразование типов

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

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

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

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

String to byte

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

<tt>    try {
        Byte b1 = new Byte("10");
        System.out.println(b1);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    String str1 = "111";
    try {
        Byte b2 = Byte.valueOf(str1);
        System.out.println(b2);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    byte b = 0;
    String str2 = "100";
    try {
        b = Byte.parseByte(str2);
        System.out.println(b);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    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) {
	  e.printStackTrace();
	}

</tt>

String to short

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

<tt>    try { 
        Short s1 = new Short("68");
        System.out.println(s1);
    }catch (NumberFormatException e) {  
        System.err.println("Неверный формат строки!");  
    }   
</tt>

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

<tt>    String str1 = "59";
    try { 
        Short s2 = Short.valueOf(str1);
        System.out.println(s2);    
    }catch (NumberFormatException e) {  
        System.err.println("Неверный формат строки!");  
    }  
</tt>

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

<tt>    short s3 = 0;  
    String str2 = "100";  
    try {  
        s3 = Short.parseShort(str2);  
        System.out.println(s3);  
    } catch (NumberFormatException e) {  
        System.err.println("Неверный формат строки!");  
    }                  
</tt>

String to int

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

<tt>    try { 
        Integer i1 = new Integer("20349");
        System.out.println(i1);
    }catch (NumberFormatException e) {  
        System.err.println("Неверный формат строки!");  
    }   
</tt>

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

<tt>    String str1 = "1451";
    try {
        Integer i2 = Integer.valueOf(str1);
        System.out.println(i2);    
    }catch (NumberFormatException e) {  
        System.err.println("Неверный формат строки!");  
    }  
</tt>

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

<tt>    int i3 = 0;
    String str2 = "102944";
    try {
        i3 = Integer.parseInt(str2);
        System.out.println(i3);  
    } catch (NumberFormatException e) {  
        System.err.println("Неверный формат строки!");  
    }                  
</tt>

String  to long

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

<tt>    try {
        Long l1 = new Long("11111111");
        System.out.println(l1);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    String str1 = "222222222";
    try {
        Long l2 = Long.valueOf(str1);
        System.out.println(l2);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    long l3 = 0;
    String str2 = "333333333";
    try {
        l3 = Long.parseLong(str2);
        System.out.println(l3);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }                  
</tt>

String to float

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

<tt>    try {
        Float f1 = new Float("123.5");
        System.out.println(f1);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    String str1 = "3.1415";
    try {
        Float f2 = Float.valueOf(str1);
        System.out.println(f2);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    float f3 = 0;
    String str2 = "36.6";
    try {
        f3 = Float.parseFloat(str2);
        System.out.println(f3);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }                  
</tt>

String to double

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

<tt>    try {
        Double d1 = new Double("4.4e10");
        System.out.println(d1);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>   String str1 = "564.6e10";
    try {
        Double d2 = Double.valueOf(str1);
        System.out.println(d2);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }
</tt>

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

<tt>    double d3 = 0;
    String str2 = "13.7e10";
    try {
        d3 = Double.parseDouble(str2);
        System.out.println(d3);
    } catch (NumberFormatException e) {
        System.err.println("Неверный формат строки!");
    }                  
</tt>

String to boolean

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

<tt>    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 );
</tt>

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

int to String

<tt>   int i = 35;
   String str = Integer.toString(i);
   System.out.println(str);                
</tt>

double to String

<tt>   double  i = 32.4e10;
   String str = Double.toString(i);
   System.out.println(str);                
</tt>

long to String

<tt>   long  i = 3422222;
   String str = Long.toString(i);
   System.out.println(str);                
</tt>

float to String

<tt>   float  i = 3.46f;
   String str = Float.toString(i);
   System.out.println(str);      
</tt>

Преобразования символа char

char to String

<tt>    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);

    // с использованием метода <tt>valueOf класса</tt> String 
    String valueOfchar = String.valueOf(ch);
    System.out.println(valueOfchar);  

</tt>

char to int

<tt>    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); 
</tt>

Преобразования чисел

int to long

<tt>    int i = 2015;
    long l = (long) (i);
    System.out.println(l);
</tt>

int to float

<tt>    int i = 2015;
    float f = (float) (i);
    System.out.println(f);
</tt>

long to int

<tt>    long l = 214748364;
    int i = (int) l;
    System.out.println(i);
</tt>

double to int

<tt>    double d = 3.14;
    int i = (int) d;
    System.out.println(i);
</tt>

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

 

Статья заимствована с http://study-java.ru/


Комментарии:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Жизнь замечательных грибов