swift小数限制NumberFormatter

前端之家收集整理的这篇文章主要介绍了swift小数限制NumberFormatter前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. //多个属性可能会冲突
  2. let numberFormate = NumberFormatter()
  3.  
  4. //最大有效数字位数
  5. numberFormate.maximumSignificantDigits = 3
  6. //最小效数字位数
  7. numberFormate.minimumSignificantDigits = 3
  8.  
  9. //最小小数位数
  10. //numberFormate.minimumFractionDigits = 1
  11. //最大小数点位数
  12. //numberFormate.maximumFractionDigits = 2
  13. //最大整数位数
  14. //numberFormate.maximumIntegerDigits = 2 //12.002 -> "2"
  15. //最小整数位数 不够补“0”
  16. //numberFormate.minimumIntegerDigits = 2
  17.  
  18. //numberFormate.maximum = NSNumber(value: 1)
  19. //numberFormate.minimum = NSNumber(value: 1)
  20.  
  21. //有四舍五入属性:
  22. let numformate = NumberFormatter()
  23. numformate.string(from: 11.6)
  24.  
  25. others:
  26. numberFormate.allowsFloats
  27. numberFormate.usesSignificantDigits
  28. numberFormate.string(from: 1.100000010001)
  29.  
  30.  
  31. 示例:
  32. /* 小数限制:2位小数,且要求当小于1时,必须留一位小数 */
  33. func fomate(_ numberStr: String) -> String {
  34. let number = NSNumber(value: Double(numberStr) ?? 0)
  35. if number.doubleValue == 0 {
  36. return "0"
  37. }
  38. let formate = NumberFormatter()
  39. //最小整数位
  40. formate.minimumIntegerDigits = 1
  41. //最大小数
  42. formate.maximumFractionDigits = 2
  43. if fabs(number.doubleValue) < 0.01 {
  44. //最小小数位
  45. formate.minimumFractionDigits = 1
  46. //最大有效数字位
  47. formate.maximumSignificantDigits = 1
  48. }
  49. //formate.paddingCharacter = ""
  50. return formate.string(from: number) ?? "0"
  51. }
  52. //效果
  53. fomate("-1.000109123456")//-1
  54. fomate("1.009109123456")//1.01
  55. fomate("0.000009823456")//0.00001

猜你在找的Swift相关文章