Я не уверен, что нахожусь на правильном пути, но я пытаюсь создать расширение BinaryFloatingPoint для расширения Float, Double ... Идея пришла после просмотра этой ссылки .
До сих пор я успешно создавал различные функции. Однако я изо всех сил пытаюсь инициализировать String с помощью generi c BinaryFloatingPoint.
Ради вопроса я прилагаю простой пример кода, чтобы показать, что я хочу сделать:
extension Numeric where Self: BinaryFloatingPoint {
var toString: String {
return String(self)
}
}
, но я вижу следующую ошибку:
Нет точных совпадений при вызове инициализатора
Возможно ли это?
ДОБАВЛЕНО
Идея состоит в том, чтобы использовать его с общим c типом BinaryFloatingPoint
extension Numeric where Self: BinaryFloatingPoint {
/// Retruns the string value of the BinaryFloatingPoint
var toString: String {
return String(describing: self)
}
/// Returns the number of decimals. It will be always greater than 0
var numberOfDecimals: Int {
return toString.count - String(Int(self)).count - 1
}
}