我使用正则表达式验证了提取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)
从中删除引号
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 时,不会出现异常。
| 归档时间: |
|
| 查看次数: |
10111 次 |
| 最近记录: |