![](/img/trans.png)
[英]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.