2016-02-04 33 views
0

有誰知道如何將一個double值格式化爲沒有千位分隔符的字符串(在Swift - ios中)。格式沒有千分隔符的雙數?

注:我需要考慮當前的語言環境,因爲一些歐洲語言使用逗號(,)作爲小數點分隔符。例如德語languange把12.50寫成12,50。

所以如果double值爲1250.25

English-uk : 1250.25 
German  : 1250,25 

如果我用以下兩種方式(WHN英國英語)我得到的值(1,212.50)。但我想格式化值爲String沒有thousant分隔符。因此,在這種情況下,1212.50

var testOne = String.localizedStringWithFormat("%.2f", 1212.50) 

var testTwo = String(format: "%.2f", locale: NSLocale.currentLocale(), 1212.50) 
+0

使用'NSNumberFormatter'。 – Sulthan

回答

5

您需要使用NSNumberFormatter的數量和明確的分組分隔符設置爲空字符串:

let formatter = NSNumberFormatter() 
formatter.locale = NSLocale(localeIdentifier: "en_US") // locale determines the decimal point (. or ,); English locale has "." 
formatter.groupingSeparator = "" // you will never get thousands separator as output 
formatter.minimumFractionDigits = 2 
formatter.maximumFractionDigits = 2 
formatter.numberStyle = .DecimalStyle 
let result = formatter.stringFromNumber(1233.99) // you will always get string 1233.99 
+0

嗨Lubos,謝謝你的回答。但是在這裏它回合並提供一個整數的答案(1234)。在我的情況下,我需要總是有2個十進制格式的double值(轉換爲字符串)。 – JibW

+0

在這種情況下,你需要設置一些額外的變量。我編輯了答案。如果工作,請測試並接受答案。 – Lubos

相關問題