將浮點數小數部分(右部分)轉換爲整數整數的最簡單方法是什麼?如何在Swift中將小數部分轉換爲整數
例如:
0.25
轉換爲25
0.09
轉換爲9
0.90
轉換爲90
我嘗試了多種方法,包括浮點數轉換爲字符串,並提取分數,但由於某種原因,它會留下任何尾隨零。例如0.90將轉換爲0.9的字符串。
將浮點數小數部分(右部分)轉換爲整數整數的最簡單方法是什麼?如何在Swift中將小數部分轉換爲整數
例如:
0.25
轉換爲25
0.09
轉換爲9
0.90
轉換爲90
我嘗試了多種方法,包括浮點數轉換爲字符串,並提取分數,但由於某種原因,它會留下任何尾隨零。例如0.90將轉換爲0.9的字符串。
下面是一個例子:
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
蘋果Foundation Framework提供了一種方法來做到這一點:
let numberFormatter = NumberFormatter()
numberFormatter.multiplier = 100
print(numberFormatter.string(from: 0.25))
具體文檔的NumberFormatter is also available
使用的NumberFormatter的優點是,它是:
您是否將點數限制爲兩位數?如果不是,你怎麼能從'0.90'和'0.900'告訴'0.9'? – dasblinkenlight
乘以100然後轉換爲Int。 –