如何将char转换为实际值?

时间:2016-05-02 12:34:05

标签: java

我是java新手,试图自己编写我的第一个应用程序 - 计算器。 试过四处寻找,却找不到类似的东西。可以通过ASCII或字节来完成吗? 为了简化我想知道的内容,我给出以下示例:

char ch = '+';
int i = 1 ch 2;
int = 3;

我想以某种方式将char +转换为实际的+符号以进行int计算。可能吗? 提前谢谢!

2 个答案:

答案 0 :(得分:3)

这是不可能的。您需要在运行时检查char变量的值。

int a = 1, b = 2, result = 0;

switch(ch) {
    case '+':
        result = a + b;
        break;
    case '-':
        result = a - b;
        break;
    // et.c
}

// The result of the calculation is now in `result`

答案 1 :(得分:-1)

Character.getNumericValue(c)

java.lang.Character.getNumericValue(char ch)返回指定的Unicode字符表示的int值。例如,角色' \ u216C' (罗马数字五十)将返回一个值为50的int。

字母AZ以大写字母(' \ u0041'至' \ u005A'),小写字母(' \ u0061'至' \ u007A&# 39;)和全宽变体(' \ uFF21'通过' \ uFF3A' \ uFF41'通过' \ uFF5A')表格具有从10到35的数值。这与Unicode规范无关,Unicode规范不会为这些char值赋值。

此方法返回字符的数值,作为非负的int值;

-2如果字符的数值不是非负整数;

如果字符没有数字值,则

-1。