My app displays decimal numbers and I would like it to display in the user's locale so that the decimal point is either a period "." or a comma "," depending on the user's device locale. When I set the device locale to Germany and call localizedStringWithFormat I get the comma "," decimal point as expected. But when I call initWithFormat I always get the period decimal point ".". The docs say that initWithFormat is supposed to follow the user's device locale. I know the device locale is set correctly because localizedStringWithFormat works properly. What am I doing wrong? I have tested this on the iPhone 4.0 Simulator and on a iPhone 3 real device. I am using XCODE 4.2, build 4C199.