2
我使用NSNumberFormatter
來格式化NSDecimalNumber
。如何配置NSNumberFormatter以顯示不帶前導零的小數部分?
我可以使用什麼配置將0.012676
顯示爲1
?
重要:我不試圖圍捕1.0 - 我試圖四捨五入到上百元發生在十進制,然後剝離前的零和小數點分隔符。
我目前的配置看起來是這樣的:
// in a method...
NSDecimalNumber *value = /* retrieve a value like 0.012676 */;
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
// this is the rounding behavior I want
[nf setRoundingMode: NSNumberFormatterRoundHalfEven];
[nf setMinimumFractionDigits: 2];
[nf setMaximumFractionDigits: 2];
return [nf stringFromNumber: value];
產生的輸出:
.01
與感謝dasblinkenlight和Twitter的朋友時,解決方案只是乘以100
,然後消除小數位數:
[nf setMultiplier: [NSNumber numberWithInt: 100]];
[nf setMinimumFractionDigits: 0];
[nf setMaximumFractionDigits: 0];
謝謝! Twitter上也指出了這一點,所以我想在這裏指出未來的訪問者:https://twitter.com/photar/status/225233393804251136 – 2012-07-17 14:31:43