Friday, January 4, 2013

Display and Format Negative Currency value

Shout it kick it on DotNetKicks.com
This small tip about how to show the negative currency value in your application. For Example if you have currency value like -1234 and you want to display it like -$1,234 according to you culture.

Problem
In C# to one of the way to format currency value easily is use ToString("c") with value will do work for you. For example check below code
//format -1234 as currency..
Console.WriteLine((-1234).ToString("c"));

Output
This will display value in output like this ($1,234.00). But the actual problem with the formatting is its not displaying - sign with currency value.

Solution
So to come out of this You need to create a custom NumberFormatInfo from your current locale. Then you can specify it's CurrencyNegativePattern, for example:
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
CultureInfo newCulture = new CultureInfo(currentCulture.Name);
newCulture.NumberFormat.CurrencyNegativePattern = 1;
Thread.CurrentThread.CurrentCulture = newCulture;
Console.WriteLine((-1234).ToString("c"));

Output
Now output of the above code is -$1,234.00. That's what actually needed display negative sign for negative currency value.
So in above code actual trick done by NumberFormatInfo.CurrencyNegativePattern Property, which is set to 1 which associated with pattern -$n. There number of different pattern supported which you can check on MSDN and assign value to property according to your need. This will not affect positive value of currency i.e. if you pas 1234 as value its dispaly as $1,234 only. And for this this example my current culture is "en-US" .

Conclusion
I Hope you all like this simple and easy example of formatting negative currency. you can explore more on MSDN on reference provided at end of post.
NumberFormatInfo Classhttp://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.aspx
NumberFormatInfo.CurrencyNegativePattern Property - http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencynegativepattern.aspx

Leave comment if you have any query or if you like it.

3 comments:

  1. But with optimal nutгitional plan wheгe
    уou rаpidly lоse weight wіthout how to grow
    tallеr, they arе ρrogгammed dіfferently, аnd other diseaѕe.

    I can do to burn fаt.

    Feel free to visіt my web sіtе: Growtallertv.com
    My page: Growth Plates

    ReplyDelete
  2. Тhere have been reviews of the top 3 rеason ωhy you would
    be to make sure they don't have any unnatural additives. Make an appointment with your doctor before taking any Weight Loss Pills For Men. Green tea and green weight loss pills for mens offer a number of different retailers, both on and offline. Furthermore, the highest weight loss tends to be in so that it is nutritious.

    Also visit my blog post ... http://baseswiki.org/en/Lose_Pure_Green_Coffee_Extract_Weight_Coffee

    ReplyDelete
  3. We contracted a local business to do my search engine optimisation and about
    a month later I checked and our website had lost a lot of traffic,
    not a good sign I assume?
    I will definitely be returning, its a great site

    ReplyDelete