Dan
Dan

Reputation: 133

Objective-C how to print out leading 0 for a float?

How do you print out leading zeros for a float using the NSString type?

Input: 3.14
Desired output: 03.1

Using format @"%02.1f"
Output: 3.1

Upvotes: 13

Views: 6105

Answers (2)

imaginaryboy
imaginaryboy

Reputation: 5999

You want @"04.1f". The 4 is the total width.

As you can see from the documentation, the format strings conform to the IEEE printf specification.

The format string you've specified breaks down as follows:

0 -- Pad with zeros.
2 -- The entire resulting formatted value will have a minimum width of 2.
.1 -- Precision of 1 digit following the decimal point.

Upvotes: 38

user427302
user427302

Reputation: 19

For some reason you can't set the pre-decimal width on float numbers (maybe it's a bug you should report). This means you will have to split the number at the decimal format each the way you want and then merge them into one string (@"%i.%i", preDec, postDec).

Upvotes: 0

Related Questions