在數(shù)字和字符串之間轉(zhuǎn)換 將字符串轉(zhuǎn)換為數(shù)字
通常,程序以字符串對(duì)象中的數(shù)字?jǐn)?shù)據(jù)結(jié)束 — 例如,用戶輸入的值。
包裝原始數(shù)字類型(Byte、Integer、Double、Float、Long和Short)的Number子類每個(gè)都提供一個(gè)名為valueOf的類方法,該方法將字符串轉(zhuǎn)換為該類型的對(duì)象。下面是一個(gè)示例ValueOfDemo,它從命令行獲取兩個(gè)字符串,將它們轉(zhuǎn)換為數(shù)字,并對(duì)值執(zhí)行算術(shù)運(yùn)算:
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作為命令行參數(shù)時(shí)程序的輸出:
a + b = 91.7 a - b = -82.7 a * b = 392.4 a / b = 0.0516055 a % b = 4.5
包裝原始數(shù)字類型的每個(gè)Number子類還提供了一個(gè)parseXXXX()方法(例如,parseFloat()),可用于將字符串轉(zhuǎn)換為原始數(shù)字,由于返回基本類型而不是對(duì)象,因此parseFloat()方法比valueOf()方法更直接,例如,在ValueOfDemo程序中,我們可以使用:
float a = Float.parseFloat(args[0]); float b = Float.parseFloat(args[1]);將數(shù)字轉(zhuǎn)換為字符串
有時(shí)你需要將數(shù)字轉(zhuǎn)換為字符串,因?yàn)槟阈枰獙?duì)其字符串形式的值進(jìn)行操作,有幾種簡單的方法可以將數(shù)字轉(zhuǎn)換為字符串:
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);
每個(gè)Number子類都包含一個(gè)類方法toString(),它將其基本類型轉(zhuǎn)換為字符串,例如:
int i; double d; String s3 = Integer.toString(i); String s4 = Double.toString(d);
ToStringDemo示例使用toString方法將數(shù)字轉(zhuǎn)換為字符串,然后程序使用一些字符串方法來計(jì)算小數(shù)點(diǎn)前后的位數(shù):
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.上一篇:字符串 下一篇:操縱字符串中的字符
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72885.html
數(shù)字 本節(jié)首先討論java.lang包中的Number類,它的子類,以及使用這些類的實(shí)例化而不是原始數(shù)字類型的情況。 本節(jié)還介紹了PrintStream和DecimalFormat類,它們提供了編寫格式化數(shù)字輸出的方法。 最后,討論了java.lang中的Math類,它包含數(shù)學(xué)函數(shù),以補(bǔ)充語言中內(nèi)置的運(yùn)算符,該類具有三角函數(shù),指數(shù)函數(shù)等方法。 數(shù)字類 使用數(shù)字時(shí),大多數(shù)時(shí)候在代碼中使用基元類型,例...
格式化數(shù)字打印輸出 之前你已經(jīng)看到使用print和println方法將字符串打印到標(biāo)準(zhǔn)輸出(System.out),由于所有數(shù)字都可以轉(zhuǎn)換為字符串(你將在本課后面看到),你可以使用這些方法打印出任意的字符串和數(shù)字混合,但是,Java編程語言還有其他方法,可以在包含數(shù)字時(shí)對(duì)打印輸出進(jìn)行更多控制。 printf和format方法 java.io包中包含一個(gè)PrintStream類,它有兩種格式化方法可...
Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實(shí)踐沒有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語言創(chuàng)建應(yīng)用程序的程序員的實(shí)用指南,其中包括數(shù)百個(gè)完整的工作示例和數(shù)十個(gè)課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識(shí)的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術(shù)和安裝Java開發(fā)軟件并使用...
字符串 在Java編程中廣泛使用的字符串是一系列字符,在Java編程語言中,字符串是對(duì)象。 Java平臺(tái)提供String類來創(chuàng)建和操作字符串。 創(chuàng)建字符串 創(chuàng)建字符串的最直接方法是編寫: String greeting = Hello world!; 在這種情況下,Hello world!是一個(gè)字符串文字 — 代碼中的一系列字符,用雙引號(hào)括起來,每當(dāng)它在代碼中遇到字符串文字時(shí),編譯器就會(huì)創(chuàng)建一個(gè)帶...
摘要:到目前為止,使用越來越廣泛,不光光只是它強(qiáng)大的生成技術(shù),而且它能夠與進(jìn)行很好的集成。注意使用數(shù)字范圍來定義集合時(shí)無需使用方括號(hào)數(shù)字范圍也支持反遞增的數(shù)字范圍如對(duì)象對(duì)象使用花括號(hào)包括中的對(duì)之間以英文冒號(hào)分隔,多組對(duì)之間以英文逗號(hào)分隔。 Freemarker的介紹 ??Freemarker 是一款模板引擎,是一種基于模版生成靜態(tài)文件的通用 工具,它是為程序員提供的一個(gè)開發(fā)包,或者說是一個(gè)類...
閱讀 2535·2023-04-26 02:57
閱讀 1417·2023-04-25 21:40
閱讀 2188·2021-11-24 09:39
閱讀 3568·2021-08-30 09:49
閱讀 772·2019-08-30 15:54
閱讀 1178·2019-08-30 15:52
閱讀 2092·2019-08-30 15:44
閱讀 1282·2019-08-28 18:27