Поскольку существует двусторонняя привязка между тем, что вы вводите, и тем, что отображается в представлении TextField, кажется, что невозможно интерполировать введенное отображаемое число. Я бы предложил небольшой взлом:
- создать ZStack с наложенным TextField и Text View.
- шрифт переднего плана для введенного текста в TextField - чистый или белый
.foregroundColor(.clear)
- клавиатура - это только число без десятичной точки:
.keyboardType(.numberPad)
- использование
.accentColor(.clear)
чтобы скрыть курсор - результаты отображаются в текстовом представлении с форматированием
specifier: "%.2f"
Это будет выглядеть как

Это код:
struct ContentView: View {
@State private var enteredNumber = ""
var enteredNumberFormatted: Double {
return (Double(enteredNumber) ?? 0) / 100
}
var body: some View {
Form {
Section {
ZStack(alignment: .leading) {
TextField("", text: $enteredNumber)
.keyboardType(.numberPad).foregroundColor(.clear)
.textFieldStyle(PlainTextFieldStyle())
.disableAutocorrection(true)
.accentColor(.clear)
Text("\(enteredNumberFormatted, specifier: "%.2f")")
}
}
}
}
}