I got a response from API which is
{"id":1,"title":"Fjallraven - Foldsack No. 1 Backpack, Fits 15 Laptops","price":109.95,"description":"Your perfect pack for everyday use and walks in the forest. Stash your laptop (up to 15 inches) in the padded sleeve, your everyday","category":"men's clothing","image":"https://fakestoreapi.com/img/81fPKd-2AYL._AC_SL1500_.jpg","rating":{"rate":3.9,"count":120}},
I'm display price
into Text
widget but it gives me this error
type 'double' is not a subtype of type 'int'
please let me know how to display double value in text widget
ProductModel class:
class ProductModel {
ProductModel(
{required this.title,
required this.id,
required this.urlImage,
required this.price});
String title;
int id;
String urlImage;
String price;
factory ProductModel.fromJson(Map<String, dynamic> json) => ProductModel(
id: json["id"],
title: json["price"],
urlImage: json["image"],
price: json["price"]);
Map<String, dynamic> toJson() =>
{"id": id, "title": title, "image": urlImage, "price": price};
}
CodePudding user response:
Try below code hope its help to you.
Your var declaration:
double price = 109.95;
Your Widget:
Using String Interpolation:
Text(
'Price: $price',
),
OR Using toString():
Text(
price.toString() ,
),
CodePudding user response:
Answer of @Ravindra is correct but you need to fix your model.
First, change price type to double
Second, change
price: json['price']
to
price: (json['price'] as num)?.toDouble()