是C#吗?
建议使用
double stx1;
if(double.TryParse(station1.x),out stx1){
//do something
}

解决方案 »

  1.   

    问题是在开始定义的时候就提示
    stx1 错误: 标识符“stx1”超出范围 
      

  2.   

     double stx1 = 0.0d;
      

  3.   

    http://msdn.microsoft.com/zh-cn/library/aa691085(VS.71).aspx
    2.4.4.3 实数
    实数用于编写类型 float、double 和 decimal 的值。real-literal:(实数:)
    decimal-digits   .   decimal-digits   exponent-partopt   real-type-suffixopt(十进制数字   .   十进制数字   指数部分可选   实数类型后缀可选)
    .   decimal-digits   exponent-partopt   real-type-suffixopt(.   十进制数字   指数部分可选   实数类型后缀可选)
    decimal-digits   exponent-part   real-type-suffixopt(十进制数字   指数部分   实数类型后缀可选)
    decimal-digits   real-type-suffix(十进制数字   实数类型后缀)
    exponent-part:(指数部分:)
    e   signopt   decimal-digits(e   符号可选   十进制数字)
    E   signopt   decimal-digits(E   符号可选   十进制数字)
    sign: one of(符号:下列之一)
    + -
    real-type-suffix: one of(实数类型后缀:下列之一)
    F f D d M m
    如果未指定实数类型后缀,则实数的类型为 double。否则,实数类型后缀确定实数的类型,如下所示:以 F 或 f 为后缀的实数的类型为 float。例如,实数 1f、1.5f、1e10f 和 123.456F 的类型都是 float。
    以 D 或 d 为后缀的实数的类型为 double。例如,实数 1d、1.5d、1e10d 以及 123.456D 的类型都是 double。
    以 M 或 m 为后缀的实数的类型为 decimal。例如,实数 1m、1.5m、1e10m 和 123.456M 的类型都是 decimal。此实数通过取精确值转换为 decimal 值,如果有必要,用银行家舍入法(第 4.1.7 节)舍入为最接近的可表示值。保留该实数的所有小数位数,除非值被舍入或者值为零(在后一种情况中,符号和小数位数为 0)。因此,实数 2.900m 经分析后将形成这样的一个小数:符号为 0、系数为 2900,小数位数为 3。
    如果一个给定的实数不能用指定的类型表示,则会发生编译时错误。使用 IEEE“就近舍入”模式确定类型 float 或 double 的实数的值。注意在实数中,小数点后必须始终是十进制数字。例如,1.3F 是实数,但 1.F 不是。
      

  4.   

    改成 double stx1 = 0.0d;
    还是有错误
    仍然是 stx1 错误: 标识符“stx1”超出范围 
    我真服了