使用double.parse()在Dart中将字符串转换为double

时间:2018-04-03 22:26:37

标签: google-api dart flutter

我正在尝试转换Google Geo返回的坐标。 API成双打。返回的响应的简化部分是......

{ 
  locationData: {
    bounds: {
      northeast: 40.222222,
      southwest: 38.265987
    }
  }
}

当我使用print(locationData['bounds']['northeast'])时,我的控制台读取并理解值为40.222222但是,当我尝试使用解析方法时,我收到以下错误:

var neLat = double.parse(locationData['bounds']['northeast']);

  

I / flutter(10537):类型'double'不是类型为cast的类型'String'的子类型

     

I / flutter(10537):double来自dart:core

     

I / flutter(10537):字符串来自dart:core

这个错误让我相信我的解析无效,即使它显然是一个双重值,就像一个字符串。我错过了转换的内容吗?我在使用double.parse的多个例子中看过转换,我只是无法弄清楚我的问题是什么..

1 个答案:

答案 0 :(得分:3)

如果该值是从JSON解析的,Dart知道该值是一个double,错误告诉我该值是double类型和转换期望类型字符串。

一旦我理解,错误就会更清楚了!