C# 中格式化字符串?

发布于 2024-10-13 07:51:17 字数 151 浏览 2 评论 0原文

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

I've a predefined string format. For instance '>>>,>>>,>>9.99' this means that the system should display string in this '500,000,000.10'. The format can change based on the users using it. How can I write a common function to display stings on the given format passing
the input value and the format as the parameter using C#

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

森末i 2024-10-20 07:51:17

您可以将 ToString 方法与标准 或 自定义格式字符串

You can use the ToString method with a standard or custom format string

乖乖公主 2024-10-20 07:51:17

例如:

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/

For example:

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

You can read more about formating values here http://www.csharp-examples.net/string-format-double/

失退 2024-10-20 07:51:17
decimal value = 1.2345; 
string rounded = value.ToString("d2");
decimal value = 1.2345; 
string rounded = value.ToString("d2");
ˇ宁静的妩媚 2024-10-20 07:51:17
private string sDecimalFormat = "0.00";

decimal d = 120M;

txtText.Text = d.ToString(sDecimalFormat);

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

txtText.Text = d.ToString(Settings.DecimalFormat);
private string sDecimalFormat = "0.00";

decimal d = 120M;

txtText.Text = d.ToString(sDecimalFormat);

You could then have a setting for decimal format eg:

txtText.Text = d.ToString(Settings.DecimalFormat);
阳光下的泡沫是彩色的 2024-10-20 07:51:17

String.formate 可用于格式化。

如果你想要例子就去那里
http://www.csharp-examples.net/string-format-double/

String.formate can be used for formating.

Go there if you want examples
http://www.csharp-examples.net/string-format-double/

私藏温柔 2024-10-20 07:51:17

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

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

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

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

I think the following might work:

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

fmt being the format you want to use and inpString being the string entered by the user.

Just replace the > with # and the 9 with 0 and it'll be a valid .Net formatstring.

只是在用心讲痛 2024-10-20 07:51:17

StringFormat 方法code>。

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

有多种方法可以格式化数字日期...

There is a Format method on String.

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

There are several methods to format numbers, date...

紫南 2024-10-20 07:51:17

我似乎不明白你如何从 >>>,>>>,>>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);
}

这样的方法?

I dont seem to understand how you can make 500,000,000.10 from >>>,>>>,>>9.99' but I believe the answer would be

But I assume something you are looking for is: string.Format("500,000,00{0:0.##}", 9.9915)

You can then make a method like

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

Something like this?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文