dart - 如何转换成双倍
问题描述
我用正则表达式验证了提取 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);
解决方案
删除引号
var long2 = double.parse('$group1');
至
var long2 = double.parse($group1);
你也可以使用
var long2 = double.tryParse($group1);
或者也接受不带分数的数字
var long2 = num.tryParse($group1)?.toDouble();
$group1
当字符串中的字符串无法转换为有效的双精度时,不会出现异常。
推荐阅读
- java - 在java中改变midi音量
- c# - InstagramApiSharp。代理问题
- intellij-idea - IntelliJ 属性文件“透明的 native-to-ascii 转换”如何排除路径或文件
- bash - 尽管命令成功,Shell 在 Azure Devops 管道中显示一堆错误
- javascript - vue datepicker 返回“1969”值
- python - 按列对数据框进行分组,然后获取另一列的前 3 个 .count() 值?
- strapi - Strapi:为 api 端点添加前缀
- spring - 从在 Spring Batch 中实现 ItemWriter 的 BillerOrderWriter 调用时,记录不会写入文件
- sql - postgresql 8.0 根据时间戳获取小时开始
- javascript - 如何将自定义按钮添加到 Summernote 工具栏