如何在 .Net 中最多显示 N 位小数和无小数(如果不需要)

本文关键字:小数 如果 不需要 如果不 Net 显示 | 更新日期: 2023-09-27 18:33:56

>假设我有这 3 个浮点数:

10,
10.12
10.234

我想打印最多 1 位小数,但不需要,则不要打印小数,如下所示:

10
10.1
10.2

如何在 .Net 中最多显示 N 位小数和无小数(如果不需要)

您正在寻找ToString "#.#"格式。像这样使用它:

decimal d = 10M;
string str = d.ToString("#.#", CultureInfo.InvariantCulture);

请考虑以下示例:

List<float> list = new List<float> { 10f, 10.12f, 10.234f };
foreach (var item in list)
{
    Console.WriteLine("{0} => {1}", item, item.ToString("#.#", CultureInfo.InvariantCulture));
}

您将获得:

10 => 10
10.12 => 10.1
10.234 => 10.2

请参阅: 自定义数字格式字符串 - MSDN

对于评论:

使用提供的示例工作正常,但是当在 0.2 上使用时,它 返回 .2。这是唯一的办法吗?–

用途: "0.#

如果您查看上面指定的链接,那么对于0,您会发现:

如果

存在,则用相应的数字替换零; 否则,结果字符串中将显示零。