String 轉化成int原始碼

2021-09-14 01:26:07 字數 1915 閱讀 7760

int i = integer.parseint("22");
一:引數二表示,要得到的進製,預設10進製

public static int parseint(string s) throws numberformatexception
二:parseint的實現

public static int parseint(string s, int radix)

throws numberformatexception

= 2 ,最低是二進位制

if (radix < character.min_radix)

=36 ,最高是三十六進製制

if (radix > character.max_radix)

int result = 0;//定義整數結果

boolean negative = false;//定義是否為負數的flag,true表示為負數

int i = 0, len = s.length();//定義計數器以及計數器的上限

int limit = -integer.max_value;//獲取integer型別的最大值,將其反轉為負數

int multmin;//設定轉換後的整數的最大值,因為以負數計算的所以是min

int digit;//定義為字串中每一位字元的儲存變數

if (len > 0) else if (firstchar != '+')

//如果第乙個字元既不是數字也不是正負號則拋異常

throw numberformatexception.forinputstring(s);

if (len == 1)

//如果長度為1且第乙個字元為正負號則拋異常

throw numberformatexception.forinputstring(s);

i++;//第乙個字元為正負號,所以計數器從第二個字元開始算數字

}//計算特定進製的數字的最大值

multmin = limit / radix;

while (i < len)

if (result < multmin)

//每迴圈一次就乘以一次進製數,表示位數高一位,例如十位變成百位

result *= radix;

if (result < limit + digit)

//之前已經乘以了進製數,所以每一次迴圈到這個位都是0,加上當前的那一位即可,因為是以負數計算的,所以是減digit

result -= digit;

}} else

//通過正負數的flag來判斷是否正負反轉結果整數

return negative ? result : -result;

}

三:digit(s.charat(i++),radix)實現
public static int digit(int codepoint, int radix) 

if (codepoint < 128)

//字元在a-z之間

else if ('a' <= codepoint && codepoint <= 'z')

//字元在a-z之間

else if ('a' <= codepoint && codepoint <= 'z')

//通過判斷result和基數大小,輸出對應值

//通過我們parseint對應的基數值為10,

//所以,只能在第乙個判斷(字元在0-9字元之間)

//中得到result值 否則後續程式會丟擲異常

return result < radix ? result : -1;

}return digitimpl(codepoint, radix);

}

go語言int型別轉化成string型別的方式

2012年09月05日 17 40 54 閱讀數 83579 標籤 string 語言go integer 更多 個人分類 golang go語言程式設計 go語言int型別轉成string型別 int型別轉成string型別 go語言 go語言中int型別和string型別都是屬於基本資料型別 兩...

c 中如何把int轉化成char

在 c 裡把其它 型別轉換 成字串時最好是用純 c 的機制 stringstream 類。include include using namespace std void main stringstream 的 str 方法返回 string string 的 c str 方法則返回 c 字串。應當...

漢字轉化成拼音

漢字轉化為拼音類 people new pinyin echo people output 張珊 class pinyin 漢字轉化並輸出拼音 param string str 所要轉化拼音的漢字 param boolean utf8 漢字編碼是否為utf8 return string public...