Usuário com melhor resposta
Casas Decimais em váriaveis Float

Pergunta
-
Estou desenvolvendo uma aplicação que utiliza váriaveis Float. Em várias situações preciso que seja restrito a quantidade de casas decimais a 2(duas). Se houver mais casas decimais ele arredonde para 2 ou se houver menos casas ele complete com 0(zeros).
Alguém sabe me dizer como eu posso resolver isso?
Se tem mais casas decimais, arredonda para duas, se não tem adiciona zeros.
No select que eu faço do Banco de dados eu já faço a limitação na query mas não consigo fazer ele trazer com ".00" e quando faço operações com os valores dentro do código que causam valores com mais de 2 casas decimais eu perco meu arredondamento.
Respostas
-
velho, essa função vc passa a string com decimais ou sem e ela arruma pra vc...
public string FormataNumero(string s)
{
int i = s.ToString().IndexOf(",");
if(i==-1)
{
s = (s + ",00");
}
else
{
int j = (s.ToString().Length) -i -1;
if(j==1)
{
s = (s+"0");
}
else
{
if(j==2)
{
s = (s+"");
}
}
}
return s;
} -
Todas as Respostas
-
velho, essa função vc passa a string com decimais ou sem e ela arruma pra vc...
public string FormataNumero(string s)
{
int i = s.ToString().IndexOf(",");
if(i==-1)
{
s = (s + ",00");
}
else
{
int j = (s.ToString().Length) -i -1;
if(j==1)
{
s = (s+"0");
}
else
{
if(j==2)
{
s = (s+"");
}
}
}
return s;
} -
-
-
-
Pessoal,
No caso do Rhodes não seria suficente simplesmente colocarmos dentro do parênteses do método ToString() a representação desejada naum???
Exemplo: Se ele tiver trabalhado com valores montetários, colocaria apenas:
NOMEDAVARIAVEL.ToString("c").
Nesse caso, o "c" vem de Currency e este mostraria o variável formatada de acordo com a configuração regional da máquina...
Para números com duas casas decimais, colocar: NOMEDAVARIAVEL.ToString("n") = Number. Também vem da configuração da máquina.
Desculpas se estou sendo "ignorante", mas acredito q daria certo. Alguém tem como me responder isso?
[ ]´s
-
Opa...
Então, essa ai foi a primeira coisa que eu tentei, mas como a minha aplicação é desenvolvida para regionalização do Brasil, desenvolvida em um Windows setado para Regional Brasil mas hospedado em um servidor com Regionalização Americana, eu tinha que setar a regionalização do sistema. E não sei por que cargas d'água se eu utilizasse o método que você sugeriu ele mostrava na página um número complexo ao invés do número que eu queria.