C# 只有一位小数的字符串格式?
我只想显示小数点后一位。我尝试了以下方法:C# 只有一位小数的字符串格式?,c#,.net,C#,.net,我只想显示小数点后一位。我尝试了以下方法: string thevalue = "6.33"; thevalue = string.Format("{0:0.#}", thevalue); 结果:6.33。但是应该是6.3吗?即使是0.0也不起作用。我做错了什么?你需要它是一个浮点值才能工作 double thevalue = 6.33; 现在,它只是一个字符串,所以它将按原样插入。如果需要解析它,请使用double.parse或double.TryParse。(或float,或decima
string thevalue = "6.33";
thevalue = string.Format("{0:0.#}", thevalue);
结果:6.33。但是应该是6.3吗?即使是0.0也不起作用。我做错了什么?你需要它是一个浮点值才能工作
double thevalue = 6.33;
现在,它只是一个字符串,所以它将按原样插入。如果需要解析它,请使用double.parse
或double.TryParse
。(或float
,或decimal
)选项1(设为字符串):
选项2(转换):
选项3(激发正则表达式):
ToString()简化了工作。
double.Parse(theValue).ToString(“N1”)
以下是一些需要考虑的不同示例:
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这里有另一种根据需要格式化浮点数的方法:
string.Format("{0:F1}",6.33);
请注意:
String.Format("{0:0.0}", 123.4567); // return 123.5
如果
值将是“6.333”
,你甚至可以使用“Match(..).Value”正则表达式和字符串选项不会舍入到最接近的数字,它们将被截断。它工作得很好,但会将数字像0.155
舍入到0.2
。不过这是个小问题!它工作得很好,但它会将数字四舍五入,比如0.155到0.2。不过这是个小问题!关键是为了共享信息和帮助人们,我发现这很有帮助。这是否也适用于$字符串?
double l_value = 6.4567;
string result = string.Format("{0:0.00}", l_value);
Console.WriteLine(result);
string.Format("{0:F1}",6.33);
String.Format("{0:0.0}", 123.4567); // return 123.5