[英]How do you convert integer to character in Java? (5 --> '5')
[英]How do you turn the first (numerical) character of a string into an integer in Java?
因此,假設我有一個 1.5 的雙char.at
,然后將其轉換為字符串,然后嘗試使用char.at
方法將第一個字符轉換為字符串。
double a = 1.5;
String b = String.valueOf(a);
System.out.println(Integer.valueOf(b.charAt(0)));
但是當我這樣做時,這是我收到的輸出:
49
我做錯了什么?
valueOf
接受一個int
或一個String
。 您傳遞了一個被提升為整數的char
(由charAt
返回)。 您可以使用substring
來獲取substring
的第一個字符。
double a = 1.5;
String b = String.valueOf(a);
System.out.println(Integer.valueOf(b.substring(0, 1)));
它采用第一個字符的ascii
值。
如果要將Integer.valueOf
String
作為參數傳遞,請嘗試以下操作:
double a = 1.5;
String b = String.valueOf(a);
System.out.println(Integer.valueOf(Character.toString(b.charAt(0))));
另外,如果你想傳遞一個整數, Integer.valueOf
也可以如下使用:
double a = 1.5;
String b = String.valueOf(a);
System.out.println(Integer.valueOf(Character.getNumericValue(b.charAt(0))));
輸出:
1
只需使用 Character.getNumericValue(b.charAt(0)); 獲取實際值而不是 ASCII
有多種方法可以做到這一點,一種方法如下(使用Double
類):
Double number = 1.5;
System.out.println(number.intValue());
intValue()
方法將返回 Double 的 istance 的int
表示
parseInt 也可以工作:
double a = 1.5;
String b = String.valueOf(a);
int c = Integer.parseInt(b.substring(0,1));
System.out.println(c);
'1'
的 ASCII 值是49
,這就是你得到的。 為了得到1
,你需要減去'0'
或48
(ASCII值'0'
的話)。
public class Main {
public static void main(String[] args) {
double a = 1.5;
String b = String.valueOf(a);
System.out.println(b.charAt(0) - '0');
}
}
輸出:
1
或者,您可以使用Character#getNumericValue
來獲取字符的數值。
public class Main {
public static void main(String[] args) {
double a = 1.5;
String b = String.valueOf(a);
System.out.println(Character.getNumericValue(b.charAt(0)));
}
}
輸出:
1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.