C# 始终显示符号的百分比格式字符串是多少?

C# 始终显示符号的百分比格式字符串是多少?,c#,.net,C#,.net,我想将0.12345显示为“+12.3%”。格式字符串“P1”或“P1”给出“12.3%”。我试过“+P1”和“+P1”都没有用 string sFoo = 0.12345.ToString("P1"); 更新 我应该强调我总是想要正确的符号,而不是“+”。如果数字为-0.12345,“P1”的工作方式与我想要的完全相同:“-12.3%”不完全使用P1,但结果相同: 0.12345.ToString("+#.#%;-#.#%"); 如果您喜欢至少一个前

我想将0.12345显示为“+12.3%”。格式字符串“P1”或“P1”给出“12.3%”。我试过“+P1”和“+P1”都没有用

string sFoo = 0.12345.ToString("P1");
更新


我应该强调我总是想要正确的符号,而不是“+”。如果数字为-0.12345,“P1”的工作方式与我想要的完全相同:“-12.3%”

不完全使用
P1
,但结果相同:

0.12345.ToString("+#.#%;-#.#%");
如果您喜欢至少一个前导数字(例如“+0.23%”而不是“+23%”),请:

尾随数字相同(例如“+14.0%”而不是“+14%”):


参考资料:

不完全使用
P1
,但结果相同:

0.12345.ToString("+#.#%;-#.#%");
如果您喜欢至少一个前导数字(例如“+0.23%”而不是“+23%”),请:

尾随数字相同(例如“+14.0%”而不是“+14%”):


参考资料:

恐怕没有显示正号的格式字符串。我在
NumberFormatInfo
中搜索了一些自定义格式是否可以接受,但没有结果

string sFoo = 0.12345.ToString("P1");
但是,您可以构建一些扩展方法来满足您的需要:

public static string ToSignedPercent(this double input)
{
    return $"{(input >= 0 ? "+" : "")}{input.ToString("P1")}";
}

// ...

Console.WriteLine((0.12345).ToSignedPercent()); // +12.3%
Console.WriteLine((-0.6789).ToSignedPercent()); // -67.9%

恐怕没有显示正号的格式字符串。我在
NumberFormatInfo
中搜索了一些自定义格式是否可以接受,但没有结果

string sFoo = 0.12345.ToString("P1");
但是,您可以构建一些扩展方法来满足您的需要:

public static string ToSignedPercent(this double input)
{
    return $"{(input >= 0 ? "+" : "")}{input.ToString("P1")}";
}

// ...

Console.WriteLine((0.12345).ToSignedPercent()); // +12.3%
Console.WriteLine((-0.6789).ToSignedPercent()); // -67.9%

在主要方法中添加以下内容。基本上,这种方法只是将变量sFoo设置为带有两个小数的百分比格式

        string sFoo = String.Format("Value: {0:P2}.", 0.12345); // formats as 12.35% 
        Console.WriteLine(sFoo);

在主要方法中加入以下内容。基本上,这种方法只是将变量sFoo设置为带有两个小数的百分比格式

        string sFoo = String.Format("Value: {0:P2}.", 0.12345); // formats as 12.35% 
        Console.WriteLine(sFoo);

你总是想要+。如果是这种情况,那么您可以尝试使用这个
$“+{0.12345.ToString(“P1”)}”
,如果数字为负数,它将不起作用。如果数字是-0.12345,我不想要“+-12.3%”。只有当数字为正数时,我才想要“+”。你总是想要+。如果是这种情况,那么您可以尝试使用这个
$“+{0.12345.ToString(“P1”)}”
,如果数字为负数,它将不起作用。如果数字是-0.12345,我不想要“+-12.3%”。只有当数字为正数时,我才想要“+”。谢谢。这就解决了问题,但是我特别要求一个“格式字符串”。谢谢。这就解决了问题,但是我特别要求一个“格式字符串”。谢谢。这正是我想要的。谢谢。这正是我想要的。