Spec-Zone .ru
спецификации, руководства, описания, API
|
Часто, программа заканчивается с числовыми данными строковом объекте — значение, вводимое пользователем, например.
Number
подклассы, которые обертывают примитивные числовые типы ( Byte
, Integer
Double
Float
Long
Short
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.