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...