arredondamento para cima csharp

18/12/2015

uso um programa pra corrigir meu estoque do arquivo fiscal sped q eu envio pra receita. mas to com problemas pois produtos unitarios estao saindo com valor quebrados.
exemplo abaixo o produto tinha (50) unidades depois q eu passo o progama ele fica com valor quebrado (13,089) eu queria arrendondar para cima. (note q estou divindo por 3,82)

|H010|7506195153574|UN|50|5,93|296,5|0|||001|296,5| (original)

|H010|7506195153574|UN|13,089|5,93|77,62|0|||001|296,5| (alterado)

---------------------------

meu codigo:

string[] strArray = File.ReadAllLines(@"original.txt");
StreamWriter writer = File.AppendText(@"alterado.txt");
foreach (string str in strArray)
{
string[] strArray2 = str.Split(new char[] { '|' });
if (strArray2[1] == "H010")
{
strArray2[4] = Math.Round((decimal)((Convert.ToDecimal(strArray2[4]) / 382M) * 100M),3).ToString();
string str2 = string.Join("|", strArray2);
writer.WriteLine(str2);
---------------------------------

Só avisando estou estudando c# faz pouco tempo e vou começar meu curso apenas ano que vem, estou me virando com tutorial na net, mas nao estou entendendo nada na parte logica. :( :(

Farofakids

Respostas

18/12/2015

Emilio Neto

Use o método
 Math.Round
.
Responder Citar

19/12/2015

Emilio Neto

Testou?
Responder Citar

21/12/2015

Farofakids

Testou?

strArray2[4] = Math.Round((decimal)((Convert.ToDecimal(strArray2[4]) / 382M) * 100M),3).ToString();

jja estou usando
Responder Citar

21/12/2015

Emilio Neto

Confere se este link ajuda.

[url]http://pt.stackoverflow.com/questions/31232/como-arredondar-decimais-para-cima-para-obter-um-inteiro-em-c[/url]
Responder Citar