// // Decimal.swift // PlusBank // // Created by Valentin Titov on 03.03.2021. // import Foundation extension Decimal { var intValue: Int { return (self as NSDecimalNumber).intValue } var doubleValue: Double { return (self as NSDecimalNumber).doubleValue } func formatWith(currency: CurrencyType) -> String { currencyFormatted(currency) } } extension Decimal { func currencyFormatted(_ currency: CurrencyType) -> String { let value = self * 100.0 let floatValue = (value as NSDecimalNumber).floatValue let intValue = Int(floatValue) var stringValue: String = String(intValue) while stringValue.count < 3 { stringValue.insert("0", at: stringValue.startIndex) } var result: String = currency.symbol result.insert(" ", at: result.startIndex) var cents: String = String(stringValue.removeLast()) cents.insert(stringValue.removeLast(), at: cents.startIndex) result = cents + result result.insert(",", at: result.startIndex) let characters: [Character] = Array(stringValue) as [Character] var j = 1 for i in (0..