解决方案 »

  1.   

    DataTable.Rows[0]["NAME"] = "0.8"
    试试转成string再赋值进去。
      

  2.   

    /// <summary>
            /// 将字符串转换为Double型
            /// </summary>
            /// <param name="target">字符串,可接受空值</param>
            /// <param name="defaultvalue"></param>
            /// <returns>Double型</returns>
            public static double? ToDouble(string target, double? defaultvalue)
            {
                double d;
                return (double.TryParse(target, NumberStyles.Float, System.Globalization.CultureInfo.CurrentCulture, out d)) ? d : defaultvalue;
            }
      

  3.   

    应该是你当前线程的区域被设置为越南了,可以检查下Thread.CurrentThread.CurrentCulture的Name属性是什么。要不然就用Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture或者CultureInfo.InstalledUICulture把区域设置成无关或系统默认。要不然就用.ToString(CultureInfo.InvariantCulture)
      

  4.   

    ToString(CultureInfo.InvariantCulture) 
    或者
    ToString("###.###");
      

  5.   

    可能和区域设置有关 不用管他 用Double.ToString(string format)这个重载
    想保留两位就这样写("0.00") 出来的字符串肯定是点不是逗号
      

  6.   

    double.ToString("F")
    double.ToString("F2") 固定保留两位小数
    double.ToString("0.00")
      

  7.   

    http://msdn.microsoft.com/zh-cn/library/kfsatb94.aspx