【发布时间】:2021-06-11 22:40:24
【问题描述】:
我有简单的数据需要转换成双精度。有时它已经是两倍,有时它是整数。
我就是这样的
if (data['status'].toString() == "success") {
all_rating = double.tryParse(data['over_all_rating']);
speed_rating = double.tryParse(data['over_speed_rating']);
break_rating = double.tryParse(data['harsh_braking_rating']);
concering_rating = double.tryParse(data['harsh_conering_rating']);
acceleration_rating = double.tryParse(data['harsh_accleration_rating']);
}
数据看起来像这样
{status: success, over_all_rating: 3.25, over_speed_rating: 3.15, harsh_braking_rating: 4.95, harsh_conering_rating: 5, harsh_accleration_rating: 4.95}
但是不知道为什么会显示Unhandled Exception: type 'double' is not a subtype of type 'String'的错误
我正在尝试通过 double.parse 进行转换,所以如果 value 不是 double 它将转换。
【问题讨论】:
-
JSON中的数据已经是
double和int,不需要解析。只需使用as double;或(... as num).toDouble();。