#firebase #flutter #google-cloud-firestore
#firebase #флаттер #google-облако-firestore
Вопрос:
Я использую firebase с flutter. Когда я пытаюсь загрузить продукт, я получаю сообщение об ошибке:
type 'double' is not a subtype of type 'int'
Когда я набираю стоимость вручную в CloudFirestore, проблема устраняется, но я не могу добавить продукт из своего приложения.
Вот часть номера моей модели продукта:
dynamic newPrice, buyPrice;
dynamic get getNewPrice=> int.parse(newPrice);
set setNewPrice(dynamic newPrice) =>
this.newPrice= int.parse(newPrice);
dynamic get getbuyPrice=> int.parse(buyPrice);
set setBuyoutPrice(dynamic buyPrice) =>
this.buyoutPrice = int.parse(buyPrice);
ОШИБКА
Комментарии:
1. Затем попробуйте проанализировать NewPrice и BuyPrice в double.
2. Вам действительно следует избегать определения переменных как динамических в Dart, за исключением очень специфических ситуаций. Вам нужно знать, какого типа вы ожидаете от переменной.
3. я попытался проанализировать double amp; int, но на самом деле не могу понять, всегда одна и та же ошибка
Ответ №1:
Firebase хранит числа в формате double, даже если вы просто отправляете int, поэтому, если вы извлекаете данные из firebase типа number, вам нужно проанализировать как double . Если вы введете вручную целое число в консоли firebase, вы сможете проанализировать его как int, но это просто «ручной взлом».