从双精度到字符串的格式不正确 书籍示例 C#

本文关键字:不正确 格式 双精度 字符串 | 更新日期: 2023-09-27 18:33:53

所以我遵循我书中的一个例子,它给了我输入到Visual Studio的代码。我输入的代码与教科书中显示的代码完全相同,但我无法让程序运行。

Console.Write("{ 0, 8}", tipRate.ToString("F"));投掷

输入字符串格式不正确

我不知道问题是什么。也许自从这本书出版(2012年)以来,Visual Studio发生了一些变化?对此的任何帮助将不胜感激,因为我只是不明白我做错了什么。

class Program
{
    static void Main(string[] args)
    {
        double dinnerPrice = 10.00;
        double tipRate;
        double tip;
        const double LOWRATE = 0.10;
        const double MAXRATE = 0.25;
        const double TIPSTEP = 0.05;
        const double MAXDINNER = 100.00;
        const double DINNERSTEP = 10.00;
        Console.Write("     Price");
        for (tipRate = LOWRATE; tipRate <= MAXRATE; tipRate += TIPSTEP)
            Console.Write("{ 0, 8}", tipRate.ToString("F"));
        Console.WriteLine();
        Console.WriteLine
        ("——————————————————————————————————————");
       tipRate = LOWRATE;
        while (dinnerPrice <= MAXDINNER)
        {
            Console.Write("{ 0, 8}", dinnerPrice.ToString("C"));
            while (tipRate <= MAXRATE)
            {
                tip = dinnerPrice * tipRate;
                Console.Write("{ 0, 8}",tip.ToString("F"));
                tipRate += 0.05;
            }
            dinnerPrice += DINNERSTEP;
            tipRate = LOWRATE;
            Console.WriteLine();
        }
    }
}

从双精度到字符串的格式不正确 书籍示例 C#

你的字符串上有拼写错误。删除{后的空格

Console.Write("{0, 8}", tipRate.ToString("F"));

请注意,您在多个地方都有相同的问题,您需要在任何地方修复它。