在 C# ASP.NET 视图中,如何在逗号后换行数字?

Posted

技术标签:

【中文标题】在 C# ASP.NET 视图中,如何在逗号后换行数字?【英文标题】:In a C# ASP.NET view, how can I wrap numbers after a comma? 【发布时间】:2013-04-26 09:06:52 【问题描述】:

目前我有一些看起来有点像这样的东西

@string.Format("0:#,###,###.##", "9999999999")

这会将值显示为:9,999,999,999

但有时我只有一个小的 DIV 来显示这么大的数字。所以我想把数字放在逗号后面。

我试过了

@string.Format("0:#,###,###.##", @lot.MinDecrement).replace(",", ",")

我只是想看看它是否只是单词中的一个中断,但这不起作用,实际上是在字符串中。

有谁知道如果需要,我可以在逗号后简单地使文本换行吗?

谢谢

【问题讨论】:

您不使用格式来包装数字。 Wrapping 是一种样式,你应该在你的 DIV 上使用 CSS 来实现 听起来是个坏主意,因为它改变了数字的含义,如果不合适,您应该将整个数字移​​到新行。此外,在德语中,逗号可以表示小数点 【参考方案1】:

您可以使用 CSS 包装 DIV 的内容,如下所示:

div
    word-wrap: break-word;

Here is a working example(调整输出窗格大小)

如果您希望它在每个逗号之后换行,那么您可以在值中添加空格(这可能是您尝试做的,如下所示:

@String.Format("0:#,###,###.##", "9999999999").Replace(",", ", ");

Here is an example using this result

【讨论】:

只有在单词中有空格的情况下才有效。我可以强制它打断一个单词,但是这只会在任何地方打断它,我只需要在逗号后使用它 @Ben,它不仅适用于空格,我的例子证明了这一点。此外,我已经更新以展示如何在每个逗号后添加空格,从而为您提供所需的效果 是的,但问题是逗号后面也不能有空格,我需要是一个完整的字符串。但是我刚刚发现我的方式,所以我现在就在这里发布这个【参考方案2】:

我找到了一种方法,只需在字符串格式的开头添加 html.Raw。就这样

@Html.Raw(string.Format("0:#,###,###.##", "9999999999").replace(",", ",<wbr>"))

这似乎完全符合我的要求,但谢谢大家

但是 - 在 IE 中不支持 - 寻找另一种选择

【讨论】:

很抱歉对您的帖子进行大修改,但我已修复,以便您可以看到没有空格的&lt;wbr&gt; 好的,因为这在 IE 中不起作用,我只好使用 CSS 样式 word-break:break-all;这将在没有空格的情况下在任何需要的地方打破数字。不是我真正想要的,但它必须这样做。 你为什么不只在 IE 上做 CSS 版本,我认为有一个 CSS 选择器可以只用于 IE?不要使用它,所以不确定头顶。 Maybe this

以上是关于在 C# ASP.NET 视图中,如何在逗号后换行数字?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JQuery c# 在嵌套网格视图 ASP.net 中使用日期时间选择器

如何从列表视图中获取数据作为字符串 C# asp.net

如何在 ASP.NET MVC 视图中用 C# 打印出 GridView?

ASP.NET MVC / C#:如何显示属于另一个控制器的部分视图数据

java 如何在控制台显示完一行输出后换行再显示下一行

asp.net label怎么自动换行