Java™ 教程(在數字和字符串之間轉換)

在數字和字符串之間轉換

將字符串轉換爲數字

一般,程序以字符串對象中的數字數據結束 — 例如,用戶輸入的值。html

包裝原始數字類型(ByteIntegerDoubleFloatLongShort)的Number子類每一個都提供一個名爲valueOf的類方法,該方法將字符串轉換爲該類型的對象。下面是一個示例ValueOfDemo,它從命令行獲取兩個字符串,將它們轉換爲數字,並對值執行算術運算:java

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.587.2做爲命令行參數時程序的輸出:git

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

包裝原始數字類型的每一個Number子類還提供了一個parseXXXX()方法(例如,parseFloat()),可用於將字符串轉換爲原始數字,因爲返回基本類型而不是對象,所以parseFloat()方法比valueOf()方法更直接,例如,在ValueOfDemo程序中,咱們能夠使用:github

float a = Float.parseFloat(args[0]);
float b = Float.parseFloat(args[1]);

將數字轉換爲字符串

有時你須要將數字轉換爲字符串,由於你須要對其字符串形式的值進行操做,有幾種簡單的方法能夠將數字轉換爲字符串:segmentfault

int i;
// Concatenate "i" with an empty string; conversion is handled for you.
String s1 = "" + i;

或:api

// The valueOf class method.
String s2 = String.valueOf(i);

每一個Number子類都包含一個類方法toString(),它將其基本類型轉換爲字符串,例如:oracle

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

ToStringDemo示例使用toString方法將數字轉換爲字符串,而後程序使用一些字符串方法來計算小數點先後的位數:ui

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

該程序的輸出是:this

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

上一篇:字符串

下一篇:操縱字符串中的字符

相關文章
相關標籤/搜索