cnm.jpeg
void test (){
int s = 616626;//十進(jìn)制
String a = s.toRadixString(16);
print('十進(jìn)制轉(zhuǎn)16進(jìn)制---$a');
int m = _hexToInt(a);//16進(jìn)制轉(zhuǎn)10進(jìn)制
print('十六進(jìn)制轉(zhuǎn)10進(jìn)制---$m');
}
int _hexToInt(String hex) {
int val = 0;
int len = hex.length;
for (int i = 0; i < len; i++) {
int hexDigit = hex.codeUnitAt(i);
if (hexDigit >= 48 && hexDigit <= 57) {
val += (hexDigit - 48) * (1 << (4 * (len - 1 - i)));
} else if (hexDigit >= 65 && hexDigit <= 70) {
// A..F
val += (hexDigit - 55) * (1 << (4 * (len - 1 - i)));
} else if (hexDigit >= 97 && hexDigit <= 102) {
// a..f
val += (hexDigit - 87) * (1 << (4 * (len - 1 - i)));
} else {
throw new FormatException("Invalid hexadecimal value");
}
}
return val;
}