String+Extensions.swift 805 B

1234567891011121314151617181920212223242526272829303132333435
  1. import Foundation
  2. extension String {
  3. func capitalizingFirstLetter() -> String {
  4. prefix(1).capitalized + dropFirst()
  5. }
  6. mutating func capitalizeFirstLetter() {
  7. self = capitalizingFirstLetter()
  8. }
  9. func formattedHourMinuteFromTimeString() -> String {
  10. let input = DateFormatter()
  11. input.dateFormat = "HH:mm:ss"
  12. let output = DateFormatter()
  13. output.timeStyle = .short
  14. output.dateStyle = .none
  15. guard let date = input.date(from: self) else {
  16. return self
  17. }
  18. return output.string(from: date)
  19. }
  20. }
  21. extension LosslessStringConvertible {
  22. var string: String { .init(self) }
  23. }
  24. extension FloatingPoint where Self: LosslessStringConvertible {
  25. var decimal: Decimal? { Decimal(string: string) }
  26. }