Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 8310
  • Last Modified:

Format currency and percentage

hi EE
I would like to format currency and percentages as follows:

1) Currency - thousand seperator and accuracy to 2 decimal places (rounding to 2 decimal points if 3 digits given after the decimal pt)

ex: 3,001.987 --> 3,001.99

2) Percentage - accuracy to 2 decimal places (rounding to 2 decimal points if 3 digits given after the decimal pt)

What would be the correct string format in order to format to these specifications?
thx
0
LuckyLucks
Asked:
LuckyLucks
  • 4
1 Solution
 
YZlatCommented:
currency:
String.Format("{0:C}", 1234.56)

percentage

String.Format("{0:P}", .1234)
0
 
YZlatCommented:
String.Format("{0:C2}", 1234.56)

String.Format("{0:P2}", .1234)
0
 
wtconwayCommented:
What YZlat will work fine. Another example follows. Say, for example, you were storing your values as either Single or Double objects like so:

        Dim myMoney As Double = 2000.356
        Dim myPercent As Double = 0.15797

        myMoney.ToString("c") 'returns $2,000.36
        myPercent.ToString("p") 'returns 15.80 percent as the 9 rounds the 7 to an 8. Unsure how you would force it to remain unrounded

But that's the method I always use since the ToString() function on those datatypes supports it.

Good luck!
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LuckyLucksAuthor Commented:
YZlat,
   Not sure if I am doing something incorrect but when I try for the percentage an example .07657
it will display it as 7.65 whereas I was looking for 7.66.

Also, since the string format P2 first multiplies the input by 100 and then displays it, something like 7.50 will display as 750.00 , is there a way to turn this multiplication factor off?
0
 
YZlatCommented:
LuckyLucks, I just tried

Dim number As Double = 0.07657
Label1.Text = String.Format("{0:P2}", number)

and Label1 displayed 7.66%
0
 
YZlatCommented:
also 7.50 in percentages will be 750.00. That's the way percentage is calculated. What would you want to be displayed instead of 7.5??

The grade you gave me is not fair since I fully answered your question
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now