我正在做一本书中的例子:Herbert Schildt撰写的完整参考文献C#3.0。它是关于使用参数在Console.WriteLine中编写的。这是一个例子: 我尝试了这个但是我收到了一个错误:
Project1.exe has encountered a problem and needs to be close. We are sorry for the inconvenience. Please tell Microsoft about this problem. Send Error Report or Don't Send. And if I click, I get another error in the command prompt. "Unhandled Exception: System.Format.Exception input string was not in a correct format. at System.Text.StringBuilder.AppendFormatError() at System.Text.StringBuilder.AppendFormat(IFormatProvider provider,String Format, Object[]args) at System.IO.TextWriter.WriteLine(String format, Object arg0) at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0) At Example2.Main() in D:\myPath
我不确定这本书是否有错误或是我的代码? 我很感激你的帮助。感谢
指定a的最简单方法之一 格式是描述一个模板 WriteLine()将使用。去做这个, 显示您的格式示例 想要,使用#s标记数字 位置。你也可以指定 小数点和逗号。例如, 这是一个更好的显示方式10 除以3:
Console.WriteLine(“这里是10/3:{0:#。##}”,10.0 / 3.0);
此语句的输出如下所示:这是10/3:3.33
顺便说一句,这是我的代码:
static void Main()
{
Console.WriteLine("Here is 10/3: {0:#.##)", 10);
}
答案 0 :(得分:9)
您使用错误的结尾括号作为格式参数。
注意#。后面的括号)##,它应该是}}(花括号)。
另请注意,您已经省略了分部,如果您只是将代码更改为此(也更正了大括号):
static void Main()
{
Console.WriteLine("Here is 10/3: {0:#.##}", 10/3);
}
然后你还会有另一个问题,因为结果会是:
Here is 10/3: 3.00
原因是10/3是整数除法,看看3在3中完全上升了3次,这是3次。
如果你想要浮点除法,将10除以3得到3和1/3,那么你需要确保至少有一个数字是浮点数,因此10.0 / 3会这样做。
答案 1 :(得分:3)
你的代码错了。您在字符串文字中使用了括号而不是大括号。试试这个:
static void Main()
{
Console.WriteLine("Here is 10/3: {0:#.##}", 10);
}
答案 2 :(得分:2)
将)
更改为}
- 似乎只是一个错字。
答案 3 :(得分:2)
您的格式字符串错误。您有{
与)
答案 4 :(得分:1)
应该是:
Console.WriteLine("Here is 10/3: {0:#.##}", 10);
当您使用格式时,您应该将其放在{和}
中答案 5 :(得分:1)
更正后的代码:
static void Main()
{
Console.WriteLine("Here is 10/3: {0:#.##}", 10.0/3);
}
答案 6 :(得分:1)
在你的字符串的末尾你有a)而不是}
答案 7 :(得分:0)
让我也毫无理由地向所有人发布相同的答案!
在代码中用##}替换##}。
答案 8 :(得分:-1)
那是因为您的代码不正确。
超过1个地方!
(支架和缺少的'/3.0'部分)