Guest User

Untitled

a guest
Jan 22nd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.90 KB | None | 0 0
  1. import Foundation
  2.  
  3. public extension Int {
  4. public var int32Value: Int32 { return Int32(self) }
  5. public var int64Value: Int64 { return Int64(self) }
  6. public var uintValue: UInt { return UInt(self) }
  7. public var doubleValue: Double { return Double(self) }
  8. public var floatValue: CGFloat { return CGFloat(self) }
  9. public var float64Value: Float64 { return Float64(self) }
  10. public var numberValue: NSNumber { return NSNumber(integerLiteral: self) }
  11. public var stringValue: String { return String(self) }
  12. public var timeInterval: TimeInterval { return TimeInterval(self) }
  13. public var radians: Double { return self.doubleValue.radians }
  14. public var degrees: Double { return self.doubleValue.degrees }
  15. public var shortenDemicalValue: String {
  16. let mil: Int = 1000000
  17. let kil: Int = 1000
  18. let number = self > mil ? self/kil : self
  19. let suffix = self > mil ? "K" : ""
  20.  
  21. let numberFormatter = NumberFormatter()
  22. numberFormatter.groupingSeparator = ","
  23. numberFormatter.numberStyle = .decimal
  24.  
  25. guard let formattedString = numberFormatter.string(from: NSNumber(value: number)) else {
  26. return "\(number)\(suffix)"
  27. }
  28. return "\(formattedString)\(suffix)"
  29. }
  30. public var xScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.w }
  31. public var yScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.h }
  32. }
  33.  
  34. public extension Int32 {
  35. public var intValue: Int { return Int(self) }
  36. public var int64Value: Int64 { return Int64(self) }
  37. public var uintValue: UInt { return UInt(self) }
  38. public var doubleValue: Double { return Double(self) }
  39. public var floatValue: CGFloat { return CGFloat(self) }
  40. public var float64Value: Float64 { return Float64(self) }
  41. public var numberValue: NSNumber { return self as NSNumber }
  42. public var stringValue: String { return String(self) }
  43. public var timeInterval: TimeInterval { return TimeInterval(self) }
  44. public var radians: Double { return self.doubleValue.radians }
  45. public var degrees: Double { return self.doubleValue.degrees }
  46. public var xScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.w }
  47. public var yScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.h }
  48. }
  49.  
  50. public extension Int64 {
  51. public var intValue: Int { return Int(self) }
  52. public var int32Value: Int32 { return Int32(self) }
  53. public var uintValue: UInt { return UInt(self) }
  54. public var doubleValue: Double { return Double(self) }
  55. public var floatValue: CGFloat { return CGFloat(self) }
  56. public var float64Value: Float64 { return Float64(self) }
  57. public var numberValue: NSNumber { return self as NSNumber }
  58. public var stringValue: String { return String(self) }
  59. public var timeInterval: TimeInterval { return TimeInterval(self) }
  60. public var radians: Double { return self.doubleValue.radians }
  61. public var degrees: Double { return self.doubleValue.degrees }
  62. public var xScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.w }
  63. public var yScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.h }
  64. }
  65.  
  66. public extension UInt {
  67. public var int32Value: Int32 { return Int32(self) }
  68. public var int64Value: Int64 { return Int64(self) }
  69. public var intValue: Int { return Int(self) }
  70. public var doubleValue: Double { return Double(self) }
  71. public var floatValue: CGFloat { return CGFloat(self) }
  72. public var float64Value: Float64 { return Float64(self) }
  73. public var numberValue: NSNumber { return NSNumber(value: self) }
  74. public var stringValue: String { return String(self) }
  75. public var timeInterval: TimeInterval { return TimeInterval(self) }
  76. public var radians: Double { return self.doubleValue.radians }
  77. public var degrees: Double { return self.doubleValue.degrees }
  78. public var xScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.w }
  79. public var yScaled: CGFloat { return self.floatValue * UIScreen.main.multiply.h }
  80. }
  81.  
  82. public extension Double {
  83. public var intValue: Int { return Int(self) }
  84. public var int32Value: Int32 { return Int32(self) }
  85. public var int64Value: Int64 { return Int64(self) }
  86. public var uintValue: UInt { return UInt(self) }
  87. public var doubleValue: Double { return self }
  88. public var floatValue: CGFloat { return CGFloat(self) }
  89. public var float64Value: Float64 { return Float64(self) }
  90. public var numberValue: NSNumber { return self as NSNumber }
  91. public var stringValue: String { return String(self) }
  92. public var timeInterval: TimeInterval { return TimeInterval(self) }
  93. public var radians: Double { return self * Double.pi / 180 }
  94. public var degrees: Double { return self * 180 / Double.pi }
  95. public var xScaled: Double { return self * UIScreen.main.multiply.w.doubleValue }
  96. public var yScaled: Double { return self * UIScreen.main.multiply.h.doubleValue }
  97. }
  98.  
  99. public extension CGFloat {
  100. public var intValue: Int { return Int(self) }
  101. public var int32Value: Int32 { return Int32(self) }
  102. public var int64Value: Int64 { return Int64(self) }
  103. public var uintValue: UInt { return UInt(self) }
  104. public var floatValue: Float { return Float(self) }
  105. public var float64Value: Float64 { return Float64(self) }
  106. public var doubleValue: Double { return Double(self) }
  107. public var numberValue: NSNumber { return self as NSNumber }
  108. public var timeInterval: TimeInterval { return TimeInterval(self) }
  109. public var radians: Double { return self.doubleValue.radians }
  110. public var degrees: Double { return self.doubleValue.degrees }
  111. public var xScaled: CGFloat { return self * UIScreen.main.multiply.w }
  112. public var yScaled: CGFloat { return self * UIScreen.main.multiply.h }
  113. }
  114.  
  115. public extension Float {
  116. public var intValue: Int { return Int(self) }
  117. public var int32Value: Int32 { return Int32(self) }
  118. public var int64Value: Int64 { return Int64(self) }
  119. public var uintValue: UInt { return UInt(self) }
  120. public var cgFloatValue: CGFloat{ return CGFloat(self) }
  121. public var float64Value: Float64 { return Float64(self) }
  122. public var doubleValue: Double { return Double(self) }
  123. public var numberValue: NSNumber { return self as NSNumber }
  124. public var stringValue: String { return String(self) }
  125. public var timeInterval: TimeInterval { return TimeInterval(self) }
  126. public var radians: Double { return self.doubleValue.radians }
  127. public var degrees: Double { return self.doubleValue.degrees }
  128. public var xScaled: Float { return self * UIScreen.main.multiply.w.floatValue }
  129. public var yScaled: Float { return self * UIScreen.main.multiply.h.floatValue }
  130. }
  131.  
  132. public extension UIScreen {
  133. public typealias Multiply = (w: CGFloat, h: CGFloat)
  134.  
  135. public var multiply: Multiply {
  136. return (max(UIScreen.main.bounds.width, UIScreen.main.bounds.height) / 375.0,
  137. max(UIScreen.main.bounds.width, UIScreen.main.bounds.height) / 667.0)
  138. }
  139. }
Add Comment
Please, Sign In to add comment