使用Flutter软件包FlutterRatingBarIndicator
,我需要使用double
确定x / 5等级。使用另一个包,具体来说flutter_google_places
,我得到num
值f.rating
。
使用f.rating
,我应该可以使用num
之类的东西从double
转换为f.rating.toDouble()
,但这将返回null
。
我不确定为什么它要返回null
,因为f.rating.toString()
返回的非空值,例如3.5
在将num
用作double
值之前,是否需要应用任何特殊的转换?
感谢
编辑;我如何获得f.rating
:
使用flutter_google_places
,我从rating
接收num
作为result
值:
void getNearbyPlaces(LatLng center) async {
final location = Location(lat, lng);
final result = await _places.searchNearbyWithRadius(location, 2500, type: 'restaurant');
setState(() {
if (result.status == "OK") {
this.places = result.results;
}
print(result.status);
print(places.toString());
});
}
此以后显示为places.map
:
final placesWidget = places.map((f) {}.toList();
最后在flutter_rating_bar
中使用它:
FlutterRatingBarIndicator(
rating: f.rating,
itemCount: 5,
itemSize: 15.0,
emptyColor: Colors.amber.withAlpha(100),
itemPadding: EdgeInsets.only(top: 2.5, bottom: 6),
),
dart中的num数据类型可以存储双精度或整数值,
您不必将其转换成双倍!