作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
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/
我是一名优秀的程序员,十分优秀!