Formataзгo de Nъmeros em Decimal -
nonnemacher - 23.04.2016
Olб Pessoal, boa noite!
Nгo seria novidade eu vir aqui para tentar pedir ajuda novamente rsrsrs..
Estou a alguns dias "batendo" a cabeзa para tentar converter um nъmero para o formato Real Brasileiro.
Hoje tenho o seguinte:
Код:
new grana = 10000;
new string[50];
A saнda estб em uma SendClientMessage:
Код:
format(gstring, sizeof(gstring), "Dinheiro: R$ %d.", grana);
SendClientMessage(playerid,0xFFFFFFAA,gstring);
Resultado: "Dinheiro: R$ 10000.
O resultado apуs formatado em Real Brasileiro deve ser:
Код:
Resultado: "Dinheiro: R$ 10.000,00.
Alguйm pode me dar uma idйia de como posso fazer esta formataзгo de valores?
Obrigado desde jб a todos.
Re: Formataзгo de Nъmeros em Decimal -
PT - 23.04.2016
Usa esta funcao:
PHP код:
IntegerWithDelimiter(integer, delimiter[] = ",")
{
new
string[16];
format(string, sizeof string, "%i", integer);
for (new i = strlen(string) - 3, j = ((integer < 0) ? 1 : 0); i > j; i -= 3)
{
strins(string, delimiter, i, sizeof string);
}
return string;
}
como usar: IntegerWithDelimiter(1000000, ",")
Creditos pela funcao: Konstantinos
Re: Formataзгo de Nъmeros em Decimal -
nonnemacher - 23.04.2016
Olб PT, Obrigado pela resposta.
Fiz o teste para a funзгo que vocк me passou, porйm ele nгo resulta no que esperava.
PHP код:
new grana = 10000;
new string[50];
A saнda estб em uma SendClientMessage:
PHP код:
format(string, sizeof(string), "Dinheiro: R$ %d.", IntegerWithDelimiter(grana, ","));
SendClientMessage(playerid,0xFFFFFFAA,string);
Resultado: Dinheiro: R$ 49.
quando o resultado esperado deveria ser:
Resultado: Dinheiro: R$ 10.000,00.
@Edit
PT, desculpe-me a ignorвncia, havia esquecido de alterar %d por %s.
Quanto a isto, o resultado estб a ser: Dinheiro: R$ 10.000.
Realizei alguns ajustes no codigo que ficou assim, logo abaixo temos a resposta que esperava no comeзo.
PHP код:
IntegerWithDelimiter(integer, delimiter[] = ".")
{
new
string[16];
format(string, sizeof string, "%i,00", integer);
for (new i = strlen(string) - 6, j = ((integer < 0) ? 1 : 0); i > j; i -= 3)
{
strins(string, delimiter, i, sizeof string);
}
return string;
}
Dinheiro: R$ 10.000,00.
Obrigado PT por repassar este cуdigo e ao Konstantinos por sua criaзгo.