C#:当结果为0

时间:2016-10-06 22:16:57

标签: c# visual-studio

我在C#上学的任务。我遇到了以下代码(示例)

的问题
static void Main()
{
    do
    {
        Console.Write("Amount of centimeters?: ");
        double centimeters = double.Parse(Console.ReadLine());

        double meters = centimeters / 100;
        Console.WriteLine($"Amount of meters: {meters}");

        int wholeMeters = (int)meters;
        Console.WriteLine($"Amount of whole meters: {wholeMeters}");

    }while (true);
}

结果:

  • 厘米数?: 350
  • 米数:3,5
  • 全米数:3
  • 厘米数?: 50
  • 米数:0,5
  • 整米的数量: 0

如果结果为“全数量”给出0,我不想在控制台中显示“全数量的数量:”行。

像这样:

  • 厘米数?: 50
  • 米数:0,5

如何才能实现这一点,只使用'System'命名空间?

2 个答案:

答案 0 :(得分:2)

您将非常确定在不久的将来了解控制结构。 只需检查wholeMeters字段的值并按结果

操作即可
if(wholeMeters != 0)
   Console.WriteLine($"Amount of whole meters: {wholeMeters}");

答案 1 :(得分:1)

其实这是我的练习,我通过逐步实现代码找到了结果(花了我一天!!! :))

static void Main()
{
    do
    {
        Console.Write("Timespan in seconds?: ");
        int timeInSeconds;

        if (int.TryParse(Console.ReadLine(), out timeInSeconds))
        {
            Console.WriteLine("This is:");

            double amountOfDays = timeInSeconds / 86400;
            if (amountOfDays != 0)
                Console.WriteLine($"- {(int)amountOfDays} days");

            double amountOfHours = timeInSeconds / 3600 - ((int)amountOfDays * 24);
            if (amountOfHours != 0)
                Console.WriteLine($"- {(int)amountOfHours} hours");

            double amountOfMinuts = timeInSeconds / 60 - ((int)amountOfHours * 60) - ((int)amountOfDays * 24 * 60);
            if (amountOfMinuts != 0)
                Console.WriteLine($"- {(int)amountOfMinuts} minuts");

            double amountOfSeconds = timeInSeconds - ((int)amountOfMinuts * 60) - ((int)amountOfHours * 60 * 60) - ((int)amountOfDays * 24 * 60 * 60);
            if (amountOfSeconds != 0)
                Console.WriteLine($"- {(int)amountOfSeconds} seconds");
        }
        else
        {
            Console.WriteLine("Please enter a positive integer!");
        }

    } while (true);
}

}

  • Timespan in seconds?:34567788
    • 这是:
      • 400天
      • 2小时
      • 9 minuts
      • 48秒
  • Timespan在几秒钟内?:34567
    • 这是:
      • 9小时
      • 36分钟
      • 7秒Timespan以秒为单位?:2345这是:
      • 39分钟
      • 5秒
  • Timespan在几秒钟内?:45
    • 这是:
      • 45秒
  • Timespan在几秒钟内?:二十岁
    • 请输入正整数!

我知道我必须使用if语句,但是我在代码的开头声明了我的(双)变量,而不是在每次计算之前声明。

感谢您的帮助!