将字符串转换为十进制时超出范围Ex
本文关键字:范围 Ex 十进制 字符串 转换 | 更新日期: 2023-09-27 18:00:42
这很简单,我正在尝试将字符串经纬度坐标转换为十进制,我的代码:
decimal[] latlong = decimal[1];
latlong[0] = Convert.ToDecimal(location["lat"].ToString()); // works with "41.6674920"
latlong[1] = Convert.ToDecimal(location["lng"].ToString()); // ex. with ""-87.6831190"
抛出的异常是超出范围异常,我不确定是因为Decimal太长,还是负数???我不知道,这真的没有意义
您正在声明一个大小为1的数组,但试图分配2个元素。这是一个错误。此外,您还需要new
关键字。所以只要把它改成这个就可以消除错误:
decimal[] latlong = new decimal[2];
您的latlong
数组只创建了一个元素,但您正试图使用latlong[1] = ...
访问第二个元素
更改
decimal[] latlong = decimal[1];
至
decimal[] latlong = decimal[2];