flutter 从Dart中的Map加倍的字符串

vbkedwbf  于 2023-01-27  发布在  Flutter
关注(0)|答案(2)|浏览(199)

我试过使用double.parse,double.tryparse,也试过将它转换为int,但它一直给出错误“type”int“不是type”String“的子类型,我搜索了一些网站,但所有的解决方案都显示使用parse。

final locData = Map<String, dynamic>.from(local);

var dubLat = locData['lat'];

var lat = double.tryParse(dubLat);

我试过将var更改为double nit,但仍然给予相同的错误。

nwlls2ji

nwlls2ji1#

.tryParse接受字符串,甚至此示例的parse方法也接受字符串。但您的数据实际上是整数,因此错误类型int不是类型string的子类型。您应考虑将它们存储为int或在分析它们之前使用.toString方法。
变量dubLat =位置数据[“纬度”];//这里dublat实际上不是一个字符串,而是一个整数,你的map有一个dynamic作为第二个参数,它可以接受所有的数据类型,这个特殊的数据类型是int,而不是.parse期望的string。
变量lat =双精度.tryParse(双精度.到字符串());

bqf10yzr

bqf10yzr2#

您遇到此错误是因为您尝试传递int而不是double。tryParse需要字符串值,这就是为什么会出现此错误'type 'int'不是类型'String'的子类型
我通过这个“double.tryParse(dubLat.toString())”来解决;“

final locData = Map<String, dynamic>.from(local);

      var dubLat = locData['lat'];

      var lat = double.tryParse(dubLat.toString());

相关问题