Sorry twelve, but I just could not live with that script :O
I developed a new way,
PHP Code:
stock IntToMoney(theint, String:result[], maxlen){
new slen, pointer, String:intstr[maxlen], bool:negative;
negative = theint < 0;
if(negative) theint *= -1;
IntToString(theint, intstr, maxlen);
slen = strlen(intstr);
theint = slen % 3;
if(theint == 0) theint = 3;
Format(result,theint + 1, "%s", intstr);
slen -= theint;
pointer = theint + 1;
for(new i = theint; i <= slen ; i += 3){
pointer += 4;
Format(result, pointer, "%s,%s",result, intstr[i]);
}
if(negative)
Format(result, maxlen, "$-%s", result);
else
Format(result, maxlen, "$%s", result);
}
And, here is a very good exemple:
PHP Code:
public OnPluginStart()
{
new String:result[32];
IntToMoney(1,result,32);
LogMessage("%s",result);
IntToMoney(12,result,32);
LogMessage("%s",result);
IntToMoney(123,result,32);
LogMessage("%s",result);
IntToMoney(1234,result,32);
LogMessage("%s",result);
IntToMoney(12345,result,32);
LogMessage("%s",result);
IntToMoney(123456,result,32);
LogMessage("%s",result);
IntToMoney(1234567,result,32);
LogMessage("%s",result);
IntToMoney(12345678,result,32);
LogMessage("%s",result);
IntToMoney(-123456789,result,32);
LogMessage("%s",result);
IntToMoney(1234567890,result,32);
LogMessage("%s",result);
}
Gave me:
PHP Code:
L 09/04/2007 - 01:43:11: [nican.smx] $1
L 09/04/2007 - 01:43:11: [nican.smx] $12
L 09/04/2007 - 01:43:11: [nican.smx] $123
L 09/04/2007 - 01:43:11: [nican.smx] $1,234
L 09/04/2007 - 01:43:11: [nican.smx] $12,345
L 09/04/2007 - 01:43:11: [nican.smx] $123,456
L 09/04/2007 - 01:43:11: [nican.smx] $1,234,567
L 09/04/2007 - 01:43:11: [nican.smx] $12,345,678
L 09/04/2007 - 01:43:11: [nican.smx] $-123,456,789
L 09/04/2007 - 01:43:11: [nican.smx] $1,234,567,890
__________________