在 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 中不支持 - 寻找另一种选择
【讨论】:
很抱歉对您的帖子进行大修改,但我已修复,以便您可以看到没有空格的<wbr>
好的,因为这在 IE 中不起作用,我只好使用 CSS 样式 word-break:break-all;这将在没有空格的情况下在任何需要的地方打破数字。不是我真正想要的,但它必须这样做。
你为什么不只在 IE 上做 CSS 版本,我认为有一个 CSS 选择器可以只用于 IE?不要使用它,所以不确定头顶。 Maybe this以上是关于在 C# ASP.NET 视图中,如何在逗号后换行数字?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JQuery c# 在嵌套网格视图 ASP.net 中使用日期时间选择器
如何在 ASP.NET MVC 视图中用 C# 打印出 GridView?