C#频率转换器:如何调整输出小数位数匹配示例格式
C#频率转换器输出小数位数格式化方案
你的计算逻辑完全正确,问题出在输出阶段未指定小数位数的格式化规则。以下是两种直接可行的修正方法:
方法1:字符串插值中直接指定格式
在字符串插值的占位符内添加格式说明符,通过{变量名:格式}的方式直接控制小数位数:
修改你的输出代码段为:
//Output Frequency table Console.WriteLine($"\n\tFrequenz in Hz:\t\t\t\t{Hz:N2}\tHz"); Console.WriteLine($"\tFrequenz in Khz:\t\t\t\t{Khz:N2}\tKhz"); Console.WriteLine($"\tFrequenz in Mhz:\t\t\t\t{Mhz:N6}\tMhz"); Console.WriteLine($"\tFrequenz in Ghz:\t\t\t\t{Ghz:N9}\tGhz"); //Output period duration table Console.WriteLine($"\n\tPeriodendauer in s:\t\t\t\t{s:N9}\ts"); Console.WriteLine($"\tPeriodendauer in ms:\t\t\t\t{ms:N6}\tms"); Console.WriteLine($"\tPeriodendauer in us:\t\t\t\t{us:N3}\tus"); Console.WriteLine($"\tPeriodendauer in ns:\t\t\t\t{ns:N0}\tns");
方法2:使用ToString()指定格式
如果更习惯用ToString方法,只需传入正确的格式字符串即可,示例:
Console.WriteLine($"\n\tFrequenz in Hz:\t\t\t\t{Hz.ToString("N2")}\tHz");
常用格式说明符解释
N0:无小数位,仅显示整数N3:保留3位小数,带千位分隔符N6:保留6位小数N9:保留9位小数F2:保留2位小数,不带千位分隔符G:自动选择最简洁的表示方式(整数或小数)E3:科学计数法,保留3位小数
你可以根据示例图片的格式,调整对应的格式说明符即可。
内容的提问来源于stack exchange,提问作者xVanDaLL
相关产品推荐
相关产品推荐

