Usuário com melhor resposta
Não arredondar valores decimais

Pergunta
-
Respostas
-
Colega,
O C# por padrão arredonda, assim como o Excel, pelo que pude entender você deseja TRUNCAR, segue exemplo:
public decimal ValorTruncado(decimal valor, int precisao)
{
decimal fator = (decimal)Math.Pow(10d, precisao);
decimal valorTruncado = Math.Floor(valor * fator);
return Math.Floor((Math.Round(valorTruncado, precisao))) / fator;
}T+
- Marcado como Resposta Joao Batista segunda-feira, 21 de maio de 2012 19:21
-
Veja só:
double x = 1.119; // Retorna 1,11 string num2 = x.ToString().Substring(0, x.ToString().Length - 1); // Retorna 1,12 string num1 = String.Format("{0:f}", x);
Abç!!!
É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"
Eduardo Pires
www.eduardopires.net.br
- Editado EduardoPiresMVP segunda-feira, 21 de maio de 2012 18:31
- Marcado como Resposta Joao Batista segunda-feira, 21 de maio de 2012 19:21
Todas as Respostas
-
-
Ola Junior...
Então, mas esse é o problema, eu não posso utilizar 3 casas para exibir o valor, exemplo:
Seu der um FormatNumber(valor,2) => valores com 1,119 serão arredondados para 1,20 mas eu preciso que continuem sendo 1,11
no FormatNumber(valor,3) daria certo, mas visualmente eu não posso exibir as 3 casas decimais.valeu...
João Batista :: MSN jbdiacompleto@hotmail.com :: http://www.hostmundo.com.br/hospedagem.php
- Marcado como Resposta Joao Batista segunda-feira, 21 de maio de 2012 19:21
- Não Marcado como Resposta Joao Batista segunda-feira, 21 de maio de 2012 19:21
-
Colega,
O C# por padrão arredonda, assim como o Excel, pelo que pude entender você deseja TRUNCAR, segue exemplo:
public decimal ValorTruncado(decimal valor, int precisao)
{
decimal fator = (decimal)Math.Pow(10d, precisao);
decimal valorTruncado = Math.Floor(valor * fator);
return Math.Floor((Math.Round(valorTruncado, precisao))) / fator;
}T+
- Marcado como Resposta Joao Batista segunda-feira, 21 de maio de 2012 19:21
-
Veja só:
double x = 1.119; // Retorna 1,11 string num2 = x.ToString().Substring(0, x.ToString().Length - 1); // Retorna 1,12 string num1 = String.Format("{0:f}", x);
Abç!!!
É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"
Eduardo Pires
www.eduardopires.net.br
- Editado EduardoPiresMVP segunda-feira, 21 de maio de 2012 18:31
- Marcado como Resposta Joao Batista segunda-feira, 21 de maio de 2012 19:21
-
Veja só:
double x = 1.119; // Retorna 1,11 string num2 = x.ToString().Substring(0, x.ToString().Length - 1); // Retorna 1,12 string num1 = String.Format("{0:f}", x);
Abç!!!
É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"
Eduardo Pires
www.eduardopires.net.br
aqui pra mim foi em cima, perfeito.
Obrigado(MCC, MVP)