C#中怎么将字符串-0.24933229432D+07转换成Double类型

如题所述

using System;

namespace MyApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "-0.24933229432D+07";
            // 在C#,浮点数科学表示用e表示指数
            s = s.Replace('D', 'e');
            double v;
            if (double.TryParse(s, out v))
            {
                // 转换后按科学表示输出
                Console.WriteLine("{0:e}", v);
            }
            else
            {
                Console.WriteLine("转换失败");
            }
        }
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-25
string a = "-0.24933229432D+07";
string[] b = a.Split('D');
double c = Convert.ToDouble(b[0]) * Math.Pow(10, Convert.ToDouble(b[1]));
第2个回答  2015-09-25
         var str ="-0.24933229432D+07";
            var vals = str.Split('D','d');
            double val = double.Parse(vals[0]) * Math.Pow(10,double.Parse(vals[1]));
            //或者
            var str2 =str.Replace('D','E');
            var val2 =double.Parse(str2);

第3个回答  2015-09-25
貌似要用公式解析器。不简单。
相似回答