在c#中格式化字符串

时间:2011-01-21 09:16:35

标签: c# .net string-formatting

我有一个预定义的字符串格式。例如'>>>,>>>,>> 9.99'这意味着系统应在此'500,000,000.10'中显示字符串。格式可以根据使用它的用户而改变。如何编写一个通用函数来显示给定格式传递的stings 输入值和格式作为参数使用c#

8 个答案:

答案 0 :(得分:1)

您可以将ToString方法与standardcustom format string

一起使用

答案 1 :(得分:1)

例如:

string format = "{0:000,000,000.00}";
string val = 12.3456;
Console.WriteLine(string.Format(format, value)); // it prints "000,000,123.23"

您可以在此处了解有关格式化值的更多信息http://www.csharp-examples.net/string-format-double/

答案 2 :(得分:0)

decimal value = 1.2345; 
string rounded = value.ToString("d2");

答案 3 :(得分:0)

private string sDecimalFormat = "0.00";

decimal d = 120M;

txtText.Text = d.ToString(sDecimalFormat);

然后您可以设置十进制格式,例如:

txtText.Text = d.ToString(Settings.DecimalFormat);

答案 4 :(得分:0)

String.format可用于格式化。如果你想要示例,请去那里 http://www.csharp-examples.net/string-format-double/

答案 5 :(得分:0)

我认为以下内容可能有效:

String result = String.Format(fmt.Replace('>', '#').Replace('9', '0'), inpString);

fmt是您要使用的格式,inpString是用户输入的字符串。

只需将>替换为#,将9替换为0,它就是有效的.Net格式字符串。

答案 6 :(得分:0)

有一个Format method on String.

String.Format("{0:X}", 10); // prints A (hex 10)

有几种方法可以格式化numbersdate ...

答案 7 :(得分:0)

我似乎不明白你如何从>>>,>>>,>> 9.99'制作500,000,000.10,但我相信答案是

但我认为你要找的是:string.Format("500,000,00{0:0.##}", 9.9915)

然后您可以制作类似

的方法
Public string GetString(string Format, object value)
{
     return string.Format(Format, value);
}

这样的东西?