由於Float
價格爲0.33,我想刪除前導零和小數點,以便我可以將其顯示爲33美分。如何從浮點值中刪除前導零Swift 3
回答
僅僅通過100
0.33 * 100 = 33
乘它,如果它是一個字符串。即「0.33」,那麼,
if let float = Float("0.33") {
let cents = float * 100
let centsStr = "\(cents)" // equals "33"
}
如果你有一個多位小數的情況,那麼就繞過這條路。
if let float = Float("0.332123") {
let cents = Int(round(float * 100))
let centsStr = "\(cents)" // equals "33"
print(centsStr)
}
100只需乘以價格,將其轉換爲Int
擺脫一分的分數。如果你想四捨五入那麼它稍微複雜一些。
比方說price = 3.335
然後做
if (price*1000 %10 >= 5) {
price = Int(price * 100 + 1)
}
else {
price = Int(price * 100)
}
的else
部分是你所需要的,如果你不關心四捨五入最後一分錢做。
您可以將它轉換爲double,然後使用round(),然後將其轉換回int。 –
@TristanBeaton是的,哈哈,可能會更容易。我不知道有雙打的round()函數。 – RPatel99
它也可用於浮動。你可以在我的答案中看到。這是一個相當聰明的四捨五入的方式,你已經想出了。 –
嘗試下面的代碼,
var floatNumber = 0.33
let cent:Int = {() -> Int in
if floatNumber > 1{
floatNumber = floatNumber-floatNumber.rounded()
}
while floatNumber <= 0.1{
floatNumber = floatNumber*100
}
return Int((floatNumber*100).rounded())
}()
print(cent) //33
輸出:
floatNumber = 0.33 -> 33
floatNumber = 1000000.33 -> 33
floatNumber = 0.0000033 -> 33
如果你有如下:)
- 1. 如何從浮點值中刪除前導零在PHP
- 2. 如何刪除前導零?
- 3. 如何刪除前導零
- 4. 刪除浮點數前十進制的前導零
- 5. 如何在C++中顯示浮點值的多個前導零?
- 6. 如何刪除DataStage中的前導零
- 7. 從ggplot2圖中刪除前導零
- 8. 從SQL中刪除兩組前導零
- 9. 從jclock中刪除前導零
- 10. SSRS從日期中刪除前導零
- 11. 如何從SQL中刪除前導零(s)
- 12. 如何從雙重計算中刪除前導零?
- 13. 如何防止System.Version刪除前導零?
- 14. 如何從jsp中的會話變量中刪除前導零
- 15. 只從int值中刪除csv文件中的前導零僅
- 16. String.Split()刪除前導零
- 17. PHP刪除前導零
- 18. 如何從字符串中刪除前導零號
- 19. 如何從數字文本中刪除前導零?
- 20. 如何從逗號分隔文件中刪除前導零
- 21. 如何使用jQuery從數字中刪除前導零?
- 22. php如何從CSV中刪除前導零?
- 23. 如何從sql查詢中刪除前導單引號和前導零
- 24. 如何刪除SWIFT 3
- 25. MATLAB - 從向量中刪除前導零和尾隨零
- 26. 浮點除以零
- 27. Python:ZeroDivisionError:浮點除零
- 28. 刪除R中時間序列中的前導零點
- 29. 刪除ggplot2 +標尺中的前導零
- 30. 無效浮點值 - swift 3 ios
男人有任何疑問評論我覺得愚蠢!我應該想到這一點。謝啦 ! – Ryan