(我是个Java编程新手)
例如,我有:
char x = '9';
我需要得到撇号中的数字,数字9本身。我试着做了下面的事情,
char x = 9;
int y = (int)(x);
但它并没有起作用。
那么我应该怎么做才能得到撇号中的数字呢?
发布于 2017-09-21 20:14:30
ASCII表的排列方式是:字符'9'
的值比'0'
的值大9;字符'8'
的值比'0'
的值大8;依此类推。
所以你可以通过减去'0'
得到十进制数字字符的int值。
char x = '9';
int y = x - '0'; // gives the int value 9
发布于 2017-09-21 20:23:22
您可以使用Character类中的静态方法从char中获取数值。
char x = '9';
if (Character.isDigit(x)) { // Determines if the specified character is a digit.
int y = Character.getNumericValue(x); //Returns the int value that the
//specified Unicode character represents.
System.out.println(y);
}
发布于 2017-09-21 20:22:02
如果想要获取字符的ASCII值,或者只是将其转换为int类型,则需要从char类型转换为int类型。
选角是什么?强制转换是当我们显式地从一个primitve数据类型或一个类转换到另一个数据类型时。下面是一个简短的示例。
public class char_to_int
{
public static void main(String args[])
{
char myChar = 'a';
int i = (int) myChar; // cast from a char to an int
System.out.println ("ASCII value - " + i);
}
在本例中,我们有一个字符('a'),并将其转换为整数。输出这个整数会得到'a‘的ASCII值。
https://stackoverflow.com/questions/46343616
复制相似问题