【发布时间】:2010-10-05 17:13:28
【问题描述】:
背景故事
我有一些十进制值,作为较大字符串的一部分在网页上显示为字符串。我开始使用标准数字格式字符串来输出它。例如
myDecimal.ToString("P0")
P 之后的 0 告诉它我不需要小数位。就目前而言,这很有效,因为我的输出最终看起来像:
空间问题根据分阶段最低公司贡献率 2% 计算如上
我真的很想去掉数字和百分号之间的空格,因为在某些情况下它最终会跨行分割。而且,我更喜欢 % 来匹配数字。
可能的解决方法
1.html/css解决方案我可以在它周围放置一个<nobr> 标签或<span style="white-space: nowrap;">。但是,这感觉很尴尬,而且无论如何我更喜欢 % 来匹配这个数字,因为我认为它看起来更好。这就是我们在这片树林的报告中写它的方式,所以这就是我希望它在网页上的方式。
我将最终使用自定义数字格式字符串,例如
myDecimal.ToString("0%")
问题
在数字和百分号之间用空格显示百分比是否更常见?这会让我感到惊讶,但它可能是。
有没有办法告诉标准数字格式字符串我不想要空格?
使用自定义数字格式字符串优于标准数字格式字符串有什么缺点吗?
好的 - 我承认,这不止一个问题 - 如果您全部回答,则额外加分。
【问题讨论】:
-
Windows 8 中似乎发生了一些变化。Windows 区域设置配置为英语(澳大利亚)时,ToString("P2") 给出“0.00%”,但在具有相同区域设置的 Windows 7 机器上,它返回“0.00 %”。指定 Invariant 区域性会导致在 Win7 和 8 上包含一个空格。
-
谢谢,大卫!这让我发疯了!我在本地机器和构建服务器之间得到了不同的单元测试结果(“52.00 %”与“52.00%”),现在这很有意义。