arredondamento para cima csharp
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. :( :(
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
Curtidas 0
Respostas
Emilio Neto
18/12/2015
Use o método .
Math.Round
GOSTEI 0
Emilio Neto
18/12/2015
Testou?
GOSTEI 0
Farofakids
18/12/2015
Testou?
strArray2[4] = Math.Round((decimal)((Convert.ToDecimal(strArray2[4]) / 382M) * 100M),3).ToString();
jja estou usando
GOSTEI 0
Emilio Neto
18/12/2015
Confere se este link ajuda.
[url]http://pt.stackoverflow.com/questions/31232/como-arredondar-decimais-para-cima-para-obter-um-inteiro-em-c[/url]
[url]http://pt.stackoverflow.com/questions/31232/como-arredondar-decimais-para-cima-para-obter-um-inteiro-em-c[/url]
GOSTEI 0