tags:

views:

143

answers:

3

I know how to do X amount of leading zeros, and I know how to do X amount of decimal points. But, how do I do them both?

I am looking to have 4 leading zeros to a decimal precision of 2: 0000.00. Therefore 43.4 would be 0043.40

+12  A: 

Try this printf (C, Perl, PHP) format string:

"%07.2f"
Marcelo Cantos
java has a printf too... (System.out.printf() )
st0le
@st0le: So does Python (via the `%` operator) but I didn't contribute the list of languages. Feel free to further edit the answer.
Marcelo Cantos
+1  A: 

Java: use the Formatter class. Examples of expected usage:

StringBuilder sb = new StringBuilder();
// Send all output to the Appendable object sb
Formatter formatter = new Formatter(sb, Locale.US);

// Explicit argument indices may be used to re-order output.
formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
// -> " d  c  b  a"

// Optional locale as the first argument can be used to get
// locale-specific formatting of numbers.  The precision and width can be
// given to round and align the value.
formatter.format(Locale.FRANCE, "e = %+10.4f", Math.E);
// -> "e =    +2,7183"

// The '(' numeric flag may be used to format negative numbers with
// parentheses rather than a minus sign.  Group separators are
// automatically inserted.
formatter.format("Amount gained or lost since last statement: $ %(,.2f",
                balanceDelta);
// -> "Amount gained or lost since last statement: $ (6,217.58)"
Leni Kirilov
+1  A: 

Here is the code you need:

float myNumber = 43.4;
DecimalFormat formatter = new DecimalFormat("0000.00"); //use # for optional digits instead of 0
System.out.println(formatter.format(myNumber));
Mustafa Zengin
By the way I was coding in some other programming languages nowadays. That's way I forgot to write the name of the variable my_number in the famous Java programming convention: CamelCase. It should be myNumber according to the convention. ;)
Mustafa Zengin
@Mustafa Zengin: Instead of commenting to explain 'my_number' vs. myNumber, please edit your answer.
GreenMatt
I don't think he has enough rep to edit his answers yet. But I do.
Dave Sherohman
Thank you, Dave.
Mustafa Zengin