将字符串转换为十进制时超出范围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太长,还是负数???我不知道,这真的没有意义

将字符串转换为十进制时超出范围Ex

您正在声明一个大小为1的数组,但试图分配2个元素。这是一个错误。此外,您还需要new关键字。所以只要把它改成这个就可以消除错误:

decimal[] latlong = new decimal[2];

您的latlong数组只创建了一个元素,但您正试图使用latlong[1] = ... 访问第二个元素

更改

decimal[] latlong = decimal[1];

decimal[] latlong = decimal[2];