結論から伝えるとこちら
@State var editNum = "0"
TextField("", text: Binding(
get: {editNum},
set: {editNum = $0.filter{"0123456789".contains($0)}}))
.keyboardType(.numberPad)
iPad以外の場合は下記コードでいけるはず
@State var editNum = 0 //←もしかしたらここはStringにしないとダメかも
TextField("Input Number", value: $editNum, format: .number)
.keyboardType(.numberPad)
numberだけのtextFieldが必要で(iPad以外の場合は下記コードでいけるはず)のコードを試したところ普通にnumber以外のtextが入力できてしまい別の方法ないかググったら結論で伝えたやり方が出てました
忘備録がメインではありますが、誰かの参考になれば幸いです。