26

小数点第1位のみを表示したいのですが。私は次のことを試しました:

string thevalue = "6.33";
thevalue = string.Format("{0:0.#}", thevalue);

結果:6.33。しかし、6.3である必要がありますか?0.0でも動作しません。私は何が間違っているのですか?

4

6 に答える 6

30

それが機能するには、浮動小数点値である必要があります。

double thevalue = 6.33;

これがデモです。今のところ、それは単なる文字列なので、そのまま挿入されます。解析する必要がある場合は、double.Parseまたはを使用してくださいdouble.TryParse。(または、、floatまたはdecimal。)

于 2012-08-27T16:48:30.683 に答える
29

必要に応じて浮動小数点数をフォーマットする別の方法は次のとおりです。

string.Format("{0:F1}",6.33);
于 2012-08-27T17:29:00.243 に答える
21

考慮すべきいくつかの異なる例を次に示します。

double l_value = 6;
string result= string.Format("{0:0.00}", l_value );
Console.WriteLine(result);

出力:6.00

double l_value = 6.33333;
string result= string.Format("{0:0.00}", l_value );
Console.WriteLine(result);

出力:6.33

double l_value = 6.4567;
string result = string.Format("{0:0.00}", l_value);
Console.WriteLine(result);

出力:6.46

于 2012-08-27T17:12:20.033 に答える
14

ToString()はジョブを簡素化します。 double.Parse(theValue).ToString("N1")

于 2012-08-27T17:02:36.430 に答える
1

オプション1(文字列にします):

string thevalue = "6.33";
thevalue = string.Format("{0}", thevalue.Substring(0, thevalue.length-1));

オプション2(変換):

string thevalue = "6.33";
var thevalue = string.Format("{0:0.0}", double.Parse(theValue));

オプション3(RegExを起動):

var regex = new Regex(@"(\d+\.\d)"); // but that everywhere, maybe static
thevalue = regexObj.Match(thevalue ).Groups[1].Value;
于 2012-08-27T16:50:55.883 に答える
1

これをしてください:

String.Format("{0:0.0}", 123.4567); // return 123.5
于 2016-04-27T00:50:39.040 に答える