【问题标题】:How to load data into program as double? (not string) in c# (window form application - visual studio)如何将数据双重加载到程序中? (不是字符串)在 C# 中(窗口窗体应用程序 - Visual Studio)
【发布时间】:2021-10-19 02:13:01
【问题描述】:

我不知道怎么问,但我想以双精度而不是字符串形式加载数据,正如您在代码中看到的那样。我可以把它们改成双倍吗?我想将它们存储在数组中,因为我想从数据中找到最大值。在字符串中找不到它们。

private void button1_openfile_Click(object sender, EventArgs e)
    {
        //load data from text file
        string[] lines = File.ReadAllLines(@"C:\Users\Siti Nurhazwani\Desktop\table.txt");
        string[] values;

        for (int i = 0; i < lines.Length; i++)
        {
            values = lines[i].ToString().Split('/');
            string[] row = new string[values.Length];

            for (int j = 0; j < values.Length; j++)
            {
                row[j] = values[j];
            }

            table.Rows.Add(row);
        }
        

    }

有人可以向我分享如何将字符串更改为双精度的代码吗?请使用简单的术语,我是 C# 的初学者。

【问题讨论】:

标签: c# string visual-studio double loaddata


【解决方案1】:

我不确定我是否正确理解了您的问题。您可以在循环内从字符串更改为双精度吗?如果是这样,这应该很容易解决,例如:

var result = Convert.ToDouble(originalValue)

https://docs.microsoft.com/en-us/dotnet/api/system.convert.todouble?view=net-5.0

【讨论】:

  • 我尝试但错误,它说“System.InvalidCastException:无法将 System.String[] 类型的对象转换为 System.IConvertible 类型。” ..我该怎么办?
  • 您不能直接将 string[] 转换为 double。但是要转换数组的每个元素。 for (int i = 0; i
【解决方案2】:

将代码中的这些行更改为 double。

string[] row = new string[values.Length];

for (int j = 0; j < values.Length; j++)
{
    row[j] = values[j];
}

相反

double[] row = new double[values.Length];

for (int j = 0; j < values.Length; j++)
{
   row[j] = Convert.ToDouble(values[j]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 2013-10-08
    • 2021-08-12
    相关资源
    最近更新 更多