2010-09-15 89 views
0

我已經設置了一個很好的NSNumberFormatter,它可以完成我想要的所有事情,除了允許一個數字前面加上一個「+」 「這通常不是常見的用法,但我正在輸入緯度,」+12.34「有時用來表示北緯,同樣以」-43.21「表示南部,同樣對於經度和東/西,也可能不是。使用每一次,但我不想讓「非法」 - 這只是苦惱人我怎樣才能給NSNumberFormatter「+123」而不是「NaN」?

我試圖[... setLenient:TRUE]但是,這並不改變這種行爲

。我試圖不設置我自己的格式字符串,以避免影響本地化。

有什麼建議嗎?

回答

0

如何將一個包裝器放在函數中,或者去掉+或者輸出它(我不知道你在做什麼轉換)?

+0

這就是我所做的;這很容易和工作。 – 2010-09-18 03:46:45

1

只是猜測,但如果您使用setPositivePrefix:會發生什麼?

[formatter setPositivePrefix:@"+"]; 
+0

太棒了!那*完全*我想要的。提醒自己:學習NumberFormatter API的所有角落和縫隙!謝謝。 – 2010-09-16 13:35:39

+0

該死!可悲的是,在我興奮的時候,我沒有做一個很好的測試。使用[... setPositive:]在數​​字前需要一個「+」,這不是一個選項,所以這是行不通的。 – 2010-09-18 03:46:20

+0

@Gavin:哦,那個人很抱歉。儘管去掉「+」號很容易,但wallyk的答案是要走的路。 – dreamlax 2010-09-18 08:03:22