using System.Collections.Generic;
public static void Main()
decimal percentageAsDecimal = 0.10m;
decimal qty = 654.654654m;
decimal unitBasePrice = 35.000000m;
decimal unitBasePriceDisc = 31.5000m;
decimal discountAmount = unitBasePrice * qty - (unitBasePrice * percentageAsDecimal);
decimal taxConceptUnit = unitBasePriceDisc * 0.16m ;
decimal taxConcept = Math.Round(unitBasePriceDisc * 0.16m * qty, 2, MidpointRounding.AwayFromZero);
decimal subtotalConcept = Math.Round(unitBasePrice * qty, 2, MidpointRounding.AwayFromZero);
decimal totalConcept = subtotalConcept + taxConcept;
decimal totalUnitPrice = unitBasePriceDisc * 1.16m ;
Console.Write("discountAmount: ");
Console.WriteLine(Math.Round(discountAmount, 6, MidpointRounding.AwayFromZero));
Console.Write("taxConceptUnit: ");
Console.WriteLine(Math.Round(taxConceptUnit, 6, MidpointRounding.AwayFromZero));
Console.Write("totalUnitPrice: ");
Console.WriteLine(Math.Round(totalUnitPrice, 6, MidpointRounding.AwayFromZero));
Console.Write("taxConcept: ");
Console.WriteLine(Math.Round(taxConcept, 6, MidpointRounding.AwayFromZero));
Console.Write("subtotalConcept: ");
Console.WriteLine(Math.Round(subtotalConcept, 6, MidpointRounding.AwayFromZero));
Console.WriteLine(Math.Round(taxConcept, 2, MidpointRounding.AwayFromZero));
Console.Write("subtotal: ");
Console.WriteLine(Math.Round(subtotalConcept, 2, MidpointRounding.AwayFromZero));
Console.Write("total: ");
Console.WriteLine(Math.Round(taxConcept+subtotalConcept, 2, MidpointRounding.AwayFromZero));