如何在整数小数点后显示零?

时间:2019-10-15 09:17:19

标签: c# asp.net-core razor

我有一个浮点数,我想显示为2.0。但是它始终显示为2(不带小数)。 我尝试过

之类的东西
float result = 2.0F;
float number = float.Parse(result.ToString("0.0"));
//or: (float)Math.Round(result, 1, MidpointRounding.ToEven);

但是我似乎无法显示十进制小数点后为零的结果,而html中却没有整数。

为什么必须将其转换为字符串才能在剃须刀中正确显示?

4 个答案:

答案 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");