Когда вы вводите данные в поле ввода текста в HTML, их значение становится строкой в коде JavaScript (поскольку текстовое поле позволяет вводить все типы значений).
Если вы хотите, чтобы оно сталочисловое значение, вам нужно проанализировать эту строку в число:
parseInt(createForm.amount.Value)
или если пользователю разрешено вводить не целые числа
parseFloat(createForm.amount.Value)
Если вы сделаете это перед передачейзначение для Firestore, оно будет хранить числовое значение вместо строки:
amount: parseFloat(createForm.amount.Value),
Я должен был найти это: type="number"
в основном определяет, какую мобильную клавиатуру пользователи увидят для ввода значенияи может повлиять на проверку значения поля на стороне клиента.Но если вы получите доступ к значению в JavaScript, оно все равно будет строкой и, следовательно, потребует преобразования, о котором я упоминал выше.