我有一个浮点数,我想显示为2.0。但是它始终显示为2(不带小数)。 我尝试过
之类的东西float result = 2.0F;
float number = float.Parse(result.ToString("0.0"));
//or: (float)Math.Round(result, 1, MidpointRounding.ToEven);
但是我似乎无法显示十进制小数点后为零的结果,而html中却没有整数。
为什么必须将其转换为字符串才能在剃须刀中正确显示?
答案 0 :(得分:1)
您的代码有效,您只是将结果转换为浮点型。
float result = 2.0F;
string numberstr = result.ToString("0.0");
或者您可以使用:
float result = 2.0F;
Console.WriteLine(result .ToString("N1", CultureInfo.InvariantCulture));
答案 1 :(得分:1)
您可以使用格式字符串来做到这一点。
float.ToString("0.0");
或
float.ToString("N1");
如果要显示更多位数,可以在点后增加零,也可以将N1值更改为N2
示例:
float.ToString("0.00");
或
float.ToString("N2");
答案 2 :(得分:1)
以下显示了许多可能的选项中的几个。
public static void Main()
{
var f = 2.0F;
Print(f);
f = 2.12345F;
Print(f);
}
public static void Print(float f) {
Console.WriteLine(f.ToString("0.0###"));
Console.WriteLine(f.ToString("0.0"));
Console.WriteLine(f.ToString("N1"));
Console.WriteLine(f.ToString("G29"));
}
输出:
2.0
2.0
2.0
2
2.1235
2.1
2.1
2.12345004
答案 3 :(得分:0)
如果您的目标是将其显示为字符串,请使用:
float result = 2.0F;
string resultString = result.ToString("N1");