我在我的項目中支持幾種語言,包括法語。localizedStringWithFormat顯示法語爲NSNumber對象的空間
self.lblMax.text=[NSString localizedStringWithFormat:@"%@%@",[NSNumber numberWithFloat:[self.arrValues.lastObject floatValue]],self.strUnit];
在上面的代碼行,arrValues由具有[NSNumber numberWithFloat:val]
對象列表。我將lastObject作爲最大數字,並通過localizedStringWithFormat
方法NSString
追加其單位。
讓說,arrValues陣列的lastobject是24000所以我得到的值「24個000ms」(有空格),而不是正常的「24000ms」
,因爲我已設置的法語和法國區兩者。
有時它在UILabel中顯示逗號「24,000ms」,但實際值僅爲24000。我用stringByReplacingOccurence
方法刪除逗號。
請幫助和糾正我如果我爲法語本地化做錯了什麼。
由於提前,
是的,即將到來的空間數量(24 000)是正常的幾個地方,但法語十進制數字顯示爲逗號分隔(24,000)因此,在我的應用程序的一些十進制值(浮動)它顯示24,000和一些數字其中沒有任何小數點,它顯示的空間像24 000.在我的情況下,24000被添加到[NSNumber numberWithFloat:val]數組中,其中val是一個浮點值。我調試它,同時通過本地化的字符串分配給UILabel它的插入空間。 –
在iOS和OS X中,當數字格式爲區域設置fr_FR時,數字24000被格式化爲24000(空格),而不是逗號。逗號用於分數,而不是分組。你所看到的是正確的行爲。 – rmaddy