Помнится, нужен мне был 16-ричный код числа, а стандартная ф-ция не понимала отрицательные числа.. пришлось править
PHP код:
static str 12 int2Hex(int i,int digits = 0)
{
str 16 h = "0123456789ABCDEF";
str 12 res = "";
int d;
boolean sig = true;
;
if(i < 0)
{
sig = false;
i = i & 0x7FFFFFFF;
digits = 8;
}
while (i || (! sig && strLen(res) < 8))
{
d = i mod 16;
res = subStr(h,d+1,1) + res;
i = i / 16;
if((! sig) && (strLen(res) < 8) && (i < 16))
i = i | 0x8;
}
while ((digits > 0) && (strLen(res) < digits))
res = '0'+res;
return res;
}