问题解决:System.FormatException:“Input string was not in a correct format.”

问题

    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#Date\Learn\Learing\Program.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();
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值