0

のようなカンマで float 値を読み取るにはどうすればよい123,45ですか?

のようにフォーマットされたサードパーティの Excel ファイルを読まなければなり123,45ません123.45

私は今この方法を使用しています:

    string GetCell(int row, int col)
    {
        if (Sheet != null)
        {
            try
            {
                string cellContent = Sheet[row][col].ToString(); // careful "ToString()" syntax!
                //Print("Excel.Get({0},{1}): {2}", row, col, cellContent);
                return cellContent;
            }
            catch (Exception e)
            {
                Print("Excel.Get("+row+","+col+") error: "+ e.Message);
                return null;
            }
        }
        else
        {
            Print("Excel.Get("+ row + ","+ col+") error: sheet is null");
            return null;
        }
    }

しかし、文字列は として返され12345ます。

前もって感謝します!

4

1 に答える 1

3

文化を指定しようとすることができます

    string valueRead = "123,45";
    CultureInfo frenchCultureInfo = new CultureInfo("fr-FR");
    float valueParsed = float.Parse(valueRead, frenchCultureInfo);

EDIT : コメントによると、Excel 相互運用機能を使用してカルチャを指定できます。その他の選択肢には、値を文字列として読み取って を使用するfloat.Parseか、現在のスレッドのカルチャを変更することが含まれます。

コンマはこの言語の小数点記号であるため、私はフランス語を使用しましたが、もちろん、それが当てはまる他の言語にも適合するはずです.

于 2020-01-21T06:34:03.307 に答える