首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中的变频器

C#中的变频器
EN

Stack Overflow用户
提问于 2022-11-02 09:24:20
回答 1查看 50关注 0票数 0

所以我的程序在控制台上看起来应该是这样的。

基本上,你只是随机输入一个千赫兹的值(在例子中是50),程序把它转换成每一个赫兹--“类型”。在此之后,程序应该将其转换为周期持续时间,正如您在示例图片中所看到的那样。(用德语,dw)。

我刚开始用C#编写代码,这是我编写的第二个程序。( CS类中的任务)。

到目前为止这是我的密码。程序已经正确地计算了它,但我希望小数点与上面的示例图片中的小数点相同。我该怎么做?我试过谷歌和其他一些东西,但我找不到适合我的任务。(我读过一些关于将它转换回To.String的文章,但它不起作用)。

代码语言:javascript
复制
using System;
using System.Threading.Channels;

namespace Frequenzumwandler
{
    class program
    {

        public static void Main(string[] args)
        {

            //Introduce the program

            Console.WriteLine("\t*************************************************");
            Console.WriteLine("\t*            Berechnung von f und T             *");
            Console.WriteLine("\t*************************************************");

            //variables
            string input;
            double Hz, Mhz, Khz, Ghz, s, ms, us, ns;



            //input


            Console.Write("\n\tGeben Sie die Frequenz in kHz ein: ");
            input = Console.ReadLine();
            Khz = Convert.ToDouble(input);


            Console.Clear();


            //Calculation Hertz

            Hz = Khz * 1000;
            Mhz = Khz / 1000;
            Ghz = Khz / 1000000;

            //Calculation period duration

            s = 0.001 / Khz;
            ms = 1 / Khz;
            us = 1000 / Khz;
            ns = 1000000 / Khz;




            //Output Frequency table

            Console.WriteLine($"\n\tFrequenz in Hz:\t\t\t\t\t{Hz}\tHz");
            Console.WriteLine($"\tFrequenz in Khz:\t\t\t\t{Khz}\tKhz");
            Console.WriteLine($"\tFrequenz in Mhz:\t\t\t\t{Mhz}\tMhz");
            Console.WriteLine($"\tFrequenz in Ghz:\t\t\t\t{Ghz}\tGhz");

            //Output period duration table

            Console.WriteLine($"\n\tPeriodendauer in s:\t\t\t\t{s}\ts");
            Console.WriteLine($"\tPeriodendauer in ms:\t\t\t\t{ms}\tms");
            Console.WriteLine($"\tPeriodendauer in us:\t\t\t\t{us}\tus");
            Console.WriteLine($"\tPeriodendauer in ns:\t\t\t\t{ns}\tns");

            



        }

    }

}

谢谢!

试图使输出在示例中看起来像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-02 09:46:53

您可以指定要显示的小数位数。正如您已经注意到的,您可以使用.ToString()方法。实际上,当您在字符串中使用一个值时,总是会调用.ToString()方法。要指定小数位,可以使用value.ToString("N6"),它总是显示6位小数。然后,您的代码如下所示:

代码语言:javascript
复制
Console.WriteLine($"\n\tPeriodendauer in s:\t\t\t\t{s.ToString("N6")}\ts");
Console.WriteLine($"\tPeriodendauer in ms:\t\t\t\t{ms.ToString("N6")}\tms");
Console.WriteLine($"\tPeriodendauer in us:\t\t\t\t{us.ToString("N6")}\tus");
Console.WriteLine($"\tPeriodendauer in ns:\t\t\t\t{ns.ToString("N6")}\tns");

C#提供了一种更方便的方法,它实际上与上面的示例完全相同,但是看起来如下所示:

代码语言:javascript
复制
Console.WriteLine($"\n\tPeriodendauer in s:\t\t\t\t{s:N6}\ts");
Console.WriteLine($"\tPeriodendauer in ms:\t\t\t\t{ms:N6)}\tms");
Console.WriteLine($"\tPeriodendauer in us:\t\t\t\t{us:N6}\tus");
Console.WriteLine($"\tPeriodendauer in ns:\t\t\t\t{ns:N6}\tns");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74286924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档