字符串格式问题

发布于 2024-09-19 15:22:05 字数 445 浏览 5 评论 0原文

我正在使用 infragistic 网格,并设置每列的 DisplayFormat 。 DisplayFormat 是字符串类型,并使用它的值来显示 cellValue.ToString(DisplayFormat) 的值,当在网格中向用户显示值时(如 Infra 文档所述)

在网格中我有双打,在点之后有很多数字,我不知道有多少。 我需要使用千位分隔符。所以:

如果我有:

<br/>
12345678.12345
<br/>
12345678.12
<br/>
, I want grid to show:
<br/>
1234,5678.12345
<br/>1234,5678.12

如果我将 DisplayFormat 设置为 N5,我会得到: 1234,5678.12000

我该怎么做?

I'm using infragistic grid, and setting DisplayFormat of each column.
DisplayFormat is type of string, and uses it`s value to show value of cellValue.ToString(DisplayFormat), when showing values to user in a grid (as Infra docs saying)

In grid I have doubles, that have many numbers after point, and I don`t know how many.
And I need to use thousand seperator. So:

If I have:

<br/>
12345678.12345
<br/>
12345678.12
<br/>
, I want grid to show:
<br/>
1234,5678.12345
<br/>1234,5678.12

If I set DisplayFormat to N5, I get:
1234,5678.12000

How can I do that?

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

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

发布评论

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

评论(3

感性不性感 2024-09-26 15:22:05

我不太清楚你想要什么。

  1. 如果您想精确显示 2 位小数,则可以使用 N2。
  2. 如果您只想显示最多 2 位小数(如果它们包含有效数字),则使用#,0.##
  3. 如果您想显示所有有效小数位,那么您可以使用类似#,0.########之类的内容。 (理想情况下,小数点后应该有大约 340 个 # 字符来处理所有可能的微小 double 值。您可以自行确定所需的内容。)

It's not really clear to me what you want.

  1. If you want to show exactly 2 decimal places then you could use N2.
  2. If you only want to show up to 2 decimal places (if they contain significant figures) then use #,0.##.
  3. If you want to show all significant decimal places then you could use something like #,0.########. (Ideally you'd have about 340 # characters after the decimal point to handle all possible miniscule double values. It's up to you to determine exactly what you need.)
梦毁影碎の 2024-09-26 15:22:05

我建议使用N2。该数字是您希望看到的小数位数,如有必要,请用零填充。

I suggest using N2. The number is the amount of decimals you wish to see, padding it with zeroes, if necessery.

云仙小弟 2024-09-26 15:22:05

尝试这个

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us");
double x = 1234567.2342342d;
Console.WriteLine(string.Format("{0:0,0.00}", x));

输出:

1,234,567.23

try this

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us");
double x = 1234567.2342342d;
Console.WriteLine(string.Format("{0:0,0.00}", x));

output:

1,234,567.23

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