亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Java中將字符轉換為整數

在Java中將字符轉換為整數

有人可以告訴我這是怎么回事:char c = '+';int i = (int)c;System.out.println("i: " + i + " ch: " + Character.getNumericValue(c));打印i: 43 ch:-1。這是否意味著我必須依靠原始轉換才能轉換char為int?那么如何將a轉換Character為Integer?編輯:是的,我知道Character.getNumericValue返回的-1值是否不是數值,這對我來說很有意義。問題是:為什么進行原始轉換會返回43?Edit2: 43是的ASCII碼+,但我希望強制轉換不會成功,就像getNumericValue沒有成功一樣。否則,這意味著有兩種語義等效的方法可以執行相同的操作,但結果不同?
查看完整描述

3 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

正如文檔中明確指出Character.getNumericValue()的那樣,以數字形式返回字符的值。如果字符不是數字

,則返回-1。


如果要獲取裝箱Character對象的數字Unicode代碼點,則需要先將其拆箱:


int value = (int)c.charValue();


查看完整回答
反對 回復 2019-11-14
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

public class IntergerParser {


public static void main(String[] args){

String number = "+123123";

System.out.println(parseInt(number));

}


private static int parseInt(String number){

    char[] numChar = number.toCharArray();

    int intValue = 0;

    int decimal = 1;

    for(int index = numChar.length ; index > 0 ; index --){

        if(index == 1 ){

            if(numChar[index - 1] == '-'){

                return intValue * -1;

            } else if(numChar[index - 1] == '+'){

                return intValue;

            }

        }

        intValue = intValue + (((int)numChar[index-1] - 48) * (decimal));

        System.out.println((int)numChar[index-1] - 48+ " " + (decimal));

        decimal = decimal * 10;

    }

    return intValue;

}


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 1251 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號