问题:
double days = 107653 / 86400;
Console.WriteLine(days);
double hours = (107653 % 86400) / 3600;
Console.WriteLine(hours);
double minutes = ((107653 % 86400) % 3600) / 60;
Console.WriteLine(minutes);
double seconds = (((107653 % 86400) % 3600) % 60) / 60;
Console.WriteLine(seconds);
Console.WriteLine("107653是{}天{}小时{}分钟{}秒", days,hours,minutes,seconds);
Console.ReadKey();
执行这个程序出现错误,
System.FormatException
HResult=0x80131537
Message=Input string was not in a correct format.
Source=System.Private.CoreLib
StackTrace:
at System.Text.StringBuilder.FormatError()
at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
at System.IO.StreamWriter.WriteFormatHelper(String format, ParamsArray args, Boolean appendNewLine)
at System.IO.StreamWriter.WriteLine(String format, Object[] arg)
at System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object[] arg)
at System.Console.WriteLine(String format, Object[] arg)
at Learing.Program.Main(String[] args) in E:C#DateLearnLearingProgram.cs:line 38
原因:
在大括号{}里没有添加序号导致的
解决:
应该在输出的{}里分别加入序号{0}{1}…。
更改后:
double days = 107653 / 86400;
Console.WriteLine(days);
double hours = (107653 % 86400) / 3600;
Console.WriteLine(hours);
double minutes = ((107653 % 86400) % 3600) / 60;
Console.WriteLine(minutes);
double seconds = (((107653 % 86400) % 3600) % 60) / 60;
Console.WriteLine(seconds);
Console.WriteLine("107653是{1}天{2}小时{3}分钟{4}秒", days,hours,minutes,seconds);
Console.ReadKey();