2017-07-18 79 views
-1

將浮點數小數部分(右部分)轉換爲整數整數的最簡單方法是什麼?如何在Swift中將小數部分轉換爲整數

例如:

0.25轉換爲25

0.09轉換爲9

0.90轉換爲90

我嘗試了多種方法,包括浮點數轉換爲字符串,並提取分數,但由於某種原因,它會留下任何尾隨零。例如0.90將轉換爲0.9的字符串。

+0

您是否將點數限制爲兩位數?如果不是,你怎麼能從'0.90'和'0.900'告訴'0.9'? – dasblinkenlight

+0

乘以100然後轉換爲Int。 –

回答

1

下面是一個例子:

let a = 0.90 
let fractionalPart = a.truncatingRemainder(dividingBy: 1.0) 
let modifiedFractionalPart = Int(fractionalPart * 100.0) 
let string = String(modifiedFractionalPart) 

// prints 90 

如果不允許通過100.0倍增,這意味着你實際上沒有你的小數部分限制到小數點後兩位,而你需要有整體的一部分後.然後使用以下命令:

let a = 0.09017 
let fractionalPart = String(a).components(separatedBy: ".")[1] // "09017" 

然後,如果你必須把它轉換爲Int只是做:

let fractionalPartInt = Int(fractionalPart) // 09017 
0

蘋果Foundation Framework提供了一種方法來做到這一點:

let numberFormatter = NumberFormatter() 
numberFormatter.multiplier = 100 
print(numberFormatter.string(from: 0.25)) 

具體文檔的NumberFormatter is also available

使用的NumberFormatter的優點是,它是:

  • 更加模塊化 - 如果您需要更改轉換因子,只需更改乘數
  • Mo重新表達 - 具有自我記錄代碼在查看舊項目時非常有用
相關問題