Click here to Skip to main content
15,886,689 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
I created a function that will return the VAT percentage from Total and VAT amount..
My Function is :-
C#
public decimal vatRsToPer(decimal vatAmt, decimal totalAmt)
        {
            try
            {
                decimal rupees;
                rupees = decimal.Multiply(vatAmt, 100m);
                rupees = decimal.Divide(rupees, totalAmt);
                return rupees;
            }
            catch {
                return 0m;
            }
        }


Problem is, suppose the total amt is "2400.00" and VAT% is "4", that means the VAT Rupees is "96.00"..
If i want to get the percentage of the VAT from that VAT rupees "96.00" and Total rupees "2496.00"(which is including VAT rupees). then my function return "3.85" not "4"..
Please Help me, Where I did wrong....

Every Suggestion will be appreciated...
Posted
Comments
ZurdoDev 2-Apr-13 9:09am    
Are you saying you want to round up?
JayantaChatterjee 2-Apr-13 9:13am    
No no...
I Solved it.
Just added this line at the top:-
totalAmt = decimal.Subtract(totalAmt, vatAmt);
Thanks for quick reply...
Kenneth Haugland 2-Apr-13 9:16am    
Em, I might have gotten this wrong but if you have Price + VAT than you have 104 % of the total price. MEaning 2496/1.04 = 2400 and (2496/104)*4=96.
JayantaChatterjee 6-Apr-13 12:09pm    
Thanks for Your suggestion...
Its good..

1 solution

Quote:
Please Help me, Where I did wrong....
Here:
Quote:
rupees = decimal.Divide(rupees, totalAmt);

Should be:
C#
rupees = decimal.Divide(rupees, totalAmt-vatAmt);
 
Share this answer
 
Comments
JayantaChatterjee 2-Apr-13 9:14am    
Thanks Sir.....
CPallini 2-Apr-13 9:18am    
You are welcome.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900