TopCoder problem "FormatAmt" used in SRM 149 (Division II Level One)



Problem Statement

    In documents, it is frequently necessary to write monetary amounts in a standard format. We have decided to format amounts as follows:
  1. the amount must start with '$'
  2. the amount should have a leading '0' if and only if it is less then 1 dollar.
  3. the amount must end with a decimal point and exactly 2 following digits.
  4. the digits to the left of the decimal point must be separated into groups of three by commas (a group of one or two digits may appear on the left).

Create a class FormatAmt that contains a method amount that takes two int's, dollars and cents, as inputs and returns the properly formatted String.

 

Definition

    
Class:FormatAmt
Method:amount
Parameters:int, int
Returns:String
Method signature:String amount(int dollars, int cents)
(be sure your method is public)
    
 

Notes

-One dollar is equal to 100 cents.
 

Constraints

-dollars will be between 0 and 2,000,000,000 inclusive
-cents will be between 0 and 99 inclusive
 

Examples

0)
    
123456
0
Returns: "$123,456.00"
Note that there is no space between the $ and the first digit.
1)
    
49734321
9
Returns: "$49,734,321.09"
2)
    
0
99
Returns: "$0.99"
Note the leading 0.
3)
    
249
30
Returns: "$249.30"
4)
    
1000
1
Returns: "$1,000.01"

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=1313

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=4550&pm=1313

Writer:

dgoodman

Testers:

lbackstrom , brett1479

Problem categories:

String Manipulation