如何在 C# 中格式化 Int 时强制使用符号

发布于 2024-10-21 14:24:36 字数 300 浏览 1 评论 0 原文

我想格式化一个整数 i (-100 ),例如:

-99 格式为“-99”
9 种格式为“+09”
-1 格式为“-01”
0 格式为“+00”,

i.ToString("00")

但当 int 为正数时不添加 + 号。

有没有办法在不明确区分之间的情况下做到这一点 i >= 0i 0?

I want to format an integer i (-100 < i < 100), such that:

-99 formats as "-99"
9 formats as "+09"
-1 formats as "-01"
0 formats as "+00"

i.ToString("00")

is close but does not add the + sign when the int is positive.

Is there any way to do this without explicit distinguishing between
i >= 0 and i < 0?

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

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

发布评论

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

评论(3

娇纵 2024-10-28 14:24:36

试试这个:

i.ToString("+00;-00;+00");

当用分号 (;) 分隔时,第一部分将适用于正值,第二部分将适用于负值,第三部分将适用于零 (0)。

请注意,如果您希望零的格式与正数相同,则可以省略第三部分。如果您希望负数的格式与正数相同,但希望零的格式不同,也可以省略第二部分。

参考: MSDN 自定义数字格式字符串:这 ”;”节分隔符

Try this:

i.ToString("+00;-00;+00");

When separated by a semicolon (;) the first section will apply to positive values, the second section will apply to negative values, the third section will apply to zero (0).

Note that the third section can be omitted if you want zero to be formatted the same way as positive numbers. The second section can also be omitted if you want negatives formatted the same as positives, but want a different format for zero.

Reference: MSDN Custom Numeric Format Strings: The ";" Section Separator

枕头说它不想醒 2024-10-28 14:24:36

您也许可以使用这样的格式字符串来完成此操作..

i.ToString("+00;-00");

这将产生以下输出..

2.ToString("+00;-00");    // +02
(-2).ToString("+00;-00"); // -02
0.ToString("+00;-00");    // +00

请查看 自定义数字格式字符串的 MSDN 文档

You might be able to do it with a format string like so..

i.ToString("+00;-00");

This would produce the following output..

2.ToString("+00;-00");    // +02
(-2).ToString("+00;-00"); // -02
0.ToString("+00;-00");    // +00

Take a look at the MSDN documentation for Custom Numeric Format Strings

装迷糊 2024-10-28 14:24:36

尝试这样的事情:

i.ToString("+00;-00");

一些例子:

Console.WriteLine((-99).ToString("+00;-00"));    // -99
Console.WriteLine(9.ToString("+00;-00"));        // +09
Console.WriteLine((-1).ToString("+00;-00"));     // -01
Console.WriteLine((0).ToString("+00;-00"));      // +00

Try something like this:

i.ToString("+00;-00");

Some examples:

Console.WriteLine((-99).ToString("+00;-00"));    // -99
Console.WriteLine(9.ToString("+00;-00"));        // +09
Console.WriteLine((-1).ToString("+00;-00"));     // -01
Console.WriteLine((0).ToString("+00;-00"));      // +00
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文