Spec-Zone .ru
спецификации, руководства, описания, API
След: Изучение Языка Java
Урок: Числа и Строки
Раздел: Строки
Преобразование Между Числами и Строками
Домашняя страница > Изучение Языка Java > Числа и Строки

Преобразование Между Числами и Строками

Преобразование Строк к Числам

Часто, программа заканчивается с числовыми данными строковом объекте — значение, вводимое пользователем, например.

Number подклассы, которые обертывают примитивные числовые типы ( Byte, Integer, Double, Float, Long, и Short) каждый обеспечивает названный метод class valueOf это преобразовывает строку в объект того типа. Вот пример, ValueOfDemo , это получает две строки от командной строки, преобразовывает их в числа, и выполняет арифметические операции на значениях:


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.");
        }
    }
}

Следующее является выводом из программы, когда Вы используете 4.5 и 87.2 для параметров командной строки:

a + b = 91.7
a - b = -82.7
a * b = 392.4
a / b = 0.0516055
a % b = 4.5

Отметьте: Каждый из Number подклассы, которые обертывают примитивные числовые типы также, обеспечивают a parseXXXX() метод (например, parseFloat()) это может использоваться, чтобы преобразовать строки в примитивные числа. Так как тип примитива возвращается вместо объекта, parseFloat() метод является более прямым чем valueOf() метод. Например, в ValueOfDemo программа, мы могли использовать:
float a = Float.parseFloat(args[0]);
float b = Float.parseFloat(args[1]);

Преобразование Чисел к Строкам

Иногда Вы должны преобразовать число в строку, потому что Вы должны работать на значении в его строковой форме. Есть несколько легких способов преобразовать число в строку:

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

Каждый из Number подклассы включают метод class, toString(), это преобразует его тип примитива в строку. Например:

int i;
double d;
String s3 = Integer.toString(i); 
String s4 = Double.toString(d); 

ToStringDemo пример использует toString метод, чтобы преобразовать число в строку. Программа тогда использует некоторые строковые методы, чтобы вычислить число цифр прежде и после десятичной точки:


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.");
    }
}

Вывод этой программы:

3 digits before decimal point.
2 digits after decimal point.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Строки
Следующая страница: Управление Символами в Строке