如何转换成双倍

Nit*_*euq 6 dart flutter

我使用正则表达式验证了提取gps纬度和经度的功能,但目前它是String,而map_view只接受double

先前的问题: 如何在颤动中显示正则表达式结果

我试图用它来转换成双倍,但不起作用

    RegExp regExp = new RegExp(            //Here is the regex fonction to extract long, lat
       r"maps:google\.com\/maps\?q=(-?[0-9]+.[0-9]+),(-?[0-9]+.[0-9]+)",
      );
      var match = regExp.firstMatch(input);
      group1 = match.group(1);   //match groupe seems to be an int
      group2 = match.group(2);

      var long2 = double.parse('$group1');
      assert(long2 is double);
      var lat2 = double.parse('$group2');
      assert(lat2 is double);
Run Code Online (Sandbox Code Playgroud)

Gün*_*uer 9

从中删除引号

 var long2 = double.parse('$group1');
Run Code Online (Sandbox Code Playgroud)

 var long2 = double.parse($group1);
Run Code Online (Sandbox Code Playgroud)

您也可以使用

var long2 = double.tryParse($group1);
Run Code Online (Sandbox Code Playgroud)

或也接受不带分数的数字

var long2 = num.tryParse($group1)?.toDouble();
Run Code Online (Sandbox Code Playgroud)

当输入的字符串$group1不能转换为有效的double 时,不会出现异常。


use*_*314 5

为什么不像 double.parse(group1) 那样只使用 group1