Tag: string.format

需要使用自定义货币格式与String.Format一起使用

我正在尝试在C#中使用String.Format(“{0:c}”,somevalue),但我很难搞清楚如何配置输出以满足我的需求。 以下是我的需求: 0输出为空白 1.00输出到1.00美元 10.00输出到10.00美元 100.00输出到$ 100.00 1000.00输出到$ 1,000.00 我已经尝试过String.Format(“{0:c}”,somevalue)但是对于零值,它输出$ 0.00这不是我想要的。 我也尝试过String.Format(“{0:$ 0,0.00; $(0,0.00);#}”,somevalue),但对于1.0,它输出$ 01.00。 String.Format(“{0:$ 0.00; $(0.00);#}”,somevalue)适用于大多数情况,但当somevalue为1000.00时,输出为$ 1000.00。 是否有适合所有5个案例的格式? 我阅读的所有文档仅详细介绍了基础知识,并未涉及此类方案。

String.Format(“{0:C2}”, – 1234)(货币格式)将负数视为正数

我使用String.Format(“{0:C2}”, -1234)来格式化数字。 它总是将数量格式化为正数,而我希望它变为$ – 1234

如何使用string.Format()格式化大括号括起来的hex数?

输入: uint hex = 0xdeadbeef; 必需输出: string result = “{deadbeef}” 第一种方法:明确添加{和} ; 这工作: result = “{” + string.Format(“{0:x}”, hex) + “}”; // -> “{deadbeef}” 使用转义大括号输出为十进制而不是hex: result = string.Format(“{{{0}}}”, hex); // -> “{3735928559}” 似乎很有希望,现在我们需要做的是按照上面的第一种方法添加:x hex规范器: result = string.Format(“{{{0:x}}}”, hex); // -> “{x}” 哦,亲爱的,添加’:x使其输出”{x}”而不是我想要的”{deadbeef}” 。 所以我的问题是:我必须通过根据第一个示例显式添加{和}来解决这个问题,还是有办法使用复合格式化并转义大括号? 还要注意,这也会影响字符串插值(毕竟)只是由编译器转换为对string.Format()的调用。 (这可能是重复的问题,但到目前为止我一直无法找到重复…) 编辑

格式字符串包含“{”时的String.Formatexception

我使用的是VSTS 2008 + C#+ .Net 2.0。 当执行以下语句时,从String.Format语句中抛出FormatException,任何想法有什么问题? 这是获取我正在使用的template.html的地方。 我想在template.html中格式化此部分m = {0}。 string template = String.Empty; using (StreamReader textFile = new StreamReader(“template.html”)) { template = textFile.ReadToEnd(); String.Format(template, “video.wmv”); } http://www.mediafire.com/download.php?u4myvhbmmzg 编辑1: 这是我的template.html的内容, Silverlight Project Test Page html, body { height: 100%; overflow: auto; } body { padding: 0; margin: 0; } #silverlightControlHost { height: 100%; } […]

名为String.Format,有可能吗?

而不是使用{0} {1}等我想改用{title} 。 然后以某种方式填充该数据(下面我使用了一个Dictionary )。 此代码无效并引发exception。 我想知道我是否能做类似于我想要的事情。 使用{0 .. N}不是问题。 我只是好奇而已。 Dictionary d = new Dictionary(); d[“a”] = “he”; d[“ba”] = “llo”; d[“lol”] = “world”; string a = string.Format(“{a}{ba}{lol}”, d);