我正在編寫一個應用程序swift
並使用了下面的代碼。所以我的輸出如預期的那樣四捨五入到小數點後兩位。如何顯示2位小數,而不管小數點後的位數是多少?
這很好。但是,如果結果小於2位小數位,它只顯示1位數字。這是最基本的例子,但我的結果可能是整數或10位小數。我希望它們都顯示爲.xx
1.2345 => 1.23
1.1 => 1.1
我如何得到的結果總是顯示小數點後2位,無論小數點後的位數的?
E.g:1.1 => 1.10
我已經廣泛搜查,但答案我摸不透。 這是我到目前爲止已經試過代碼:
@IBOutlet var odds: UITextField!
@IBOutlet var oddsLabel: UILabel!
var enteredOdds = NSString(string: odds.text).doubleValue
var numberOfPlaces = 2.0
var multiplier = pow(10.0, numberOfPlaces)
var enteredOddsRounded = round(enteredOdds * multiplier)/multiplier
oddsLabel.text = "\(enteredOddsRounded)"
println("\(enteredOddsRounded)")
感謝您的意見。我已經修改爲:
@IBOutlet var odds: UITextField!
@IBOutlet var oddsLabel: UILabel!
var enteredOdds = NSString(string: odds.text).doubleValue
let formatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
for identifier in ["en_UK", "eu_US"] {
formatter.locale = NSLocale(localeIdentifier: identifier)
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
}
oddsLabel.text = formatter.stringFromNumber(enteredOdds)
它允許作爲它的舍入和小數,我同時還包括貨幣作爲獎金我失去了很多的代碼。
Thile這適用於我實際上需要顯示貨幣的所有字段,上面的值'oddsLabel.text'實際上並不是貨幣,因此只解決了舍入和小數位。
如何修改上述內容,以便可以考慮帶有和/或不含貨幣的字段。希望沒有再次複製代碼?
再次感謝您的所有快速回復。
弗蘭克
創建一個ne w格式化程序實例爲每個字段。您不必複製,只需爲普通事物創建函數即可。 – Sulthan 2015-04-01 21:30:48