gpt4 book ai didi

c# - 如何将值格式化为没有百分号的百分比?

转载 作者:可可西里 更新时间:2023-11-01 08:38:25 24 4
gpt4 key购买 nike

float f = 0.479f;
Console.WriteLine(f.ToString("p1"));

输出:47.9%

我应该将什么传递给 ToString() 以便删除这样的输出的百分号:

47.9

编辑。我应该提到我正在将掩码传递给第 3 方组件来处理它。不幸的是,我不能用这些数字表演任何杂技。必须是面具才能发挥作用。

最佳答案

I should have mentioned that I am passing the mask to a 3rd party component that does it's thing with it. I can't perform any acrobatics with the numbers unfortunately. It has to be the mask that does the trick.

所以我假设您被 Float.ToString(String) 困住了,并且您不能只编辑 f.ToString("p1 ")。现在这是一个棘手的问题。如果您不害怕破坏与隐含更改相关的任何内容,您可以执行以下操作:

“P”数字格式,如文档所述On MSDN , 使用 NumericFormatInfo.PercentSymbol 来写“%”符号。 NumericFormatInfo 是您当前 CultureInfo 的成员。您可以做的是克隆您的 CurrentCulture,并将 PercentSymbol 修改为 "",如下所示:

    static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
float f = 0.479f;
Console.WriteLine(f.ToString("p1")); //will write 47.9%

CultureInfo ci = CultureInfo.CurrentCulture.Clone() as CultureInfo;
ci.NumberFormat.PercentSymbol = "";

System.Threading.Thread.CurrentThread.CurrentCulture = ci;
Console.WriteLine(f.ToString("p1")); //will write 47.9

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

}
}

如果您不想更改 ToString 调用,这就是方法。

关于c# - 如何将值格式化为没有百分号的百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2075835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com