是否有簡單的方法在Swift中顯示浮點數或雙精度到相關小數位數。在Swift中將浮點數顯示爲可變小數位數
例如,一個使用SI單位的iOS應用程序,可根據所需屬性進行更改,並根據所需的輸入和輸出轉換最多6個數量級。因此它不僅需要顯示1毫克到1000毫克,而且還需要顯示 - 即1微克= 0.001毫克。
如下我很容易格式的字符串:
textFieldFoo.text = NSString(format: "%.1f mg", bar) as String
然而,如果用戶從1mcg轉換爲0.001mg,這將顯示爲 0.0毫克
然而,包括了到小數點後6位以包含所有常見的可能性會導致難看,醜陋的用戶界面。
有沒有簡單的方法來格式化一個字符串,以便包含一個浮點數/雙精度數據,並將其顯示爲相關的小數位數/有效數字?我敢肯定,在給定時間和足夠的樣板代碼的情況下,我可以通過金字塔來得到結果,但這是坦率的不雅。
也許你可以使用'NSNumberFormatter'這一點。 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSNumberFormatter_Class/但是,如果你有nano,micro和其他前綴以及我認爲你需要一個自定義的實現格式。 –