1

stringこんにちは、に変換したいと思います ()float で試してみfloat.Parseます。文字列形式の問題は、一部のユーザー ##,### と、他の ##.### ではユーザーによって異なります。CultureInfo 文字列を float に変換すると、 float 形式が ',' であるため、エラーが発生しました。それをどのように管理しますか?

4

2 に答える 2

0

Double.TryParse Methodの例に従ってください。カルチャを指定する代わりに、システムに現在のカルチャを問い合わせるだけです。

    string userInput = "56,67";
    float output;
    System.Globalization.NumberStyles style = System.Globalization.NumberStyles.AllowDecimalPoint;
    System.Globalization.CultureInfo  info =  System.Threading.Thread.CurrentThread.CurrentCulture;

    if (float.TryParse(userInput, style, info, out output))
    {
        // ...
    }
    else
    {
        // ....
    }
于 2013-10-19T10:01:43.047 に答える
0

下に見える過負荷を使用します

float.Parse("20,30", System.Globalization.NumberStyles.Float,
                          Thread.CurrentThread.CurrentUICulture);

または、以下のように double.parse も使用できます

double.Parse("30.30", System.Globalization.NumberStyles.Float,
                          Thread.CurrentThread.CurrentUICulture);
于 2013-10-19T11:52:24.410 に答える