【问题标题】:How do I write a small number to the console without the e notation in C#? [duplicate]如何在没有 C# 中的 e 符号的情况下将一个小数字写入控制台? [复制]
【发布时间】:2021-02-24 02:39:31
【问题描述】:

当我尝试显示一个非常小或非常大的数字时,它会用 e 符号向我们显示数字。
如何绕过这个问题?

我尝试过的事情:

Console.WriteLine(Double.Parse("1E-10", System.Globalization.NumberStyles.Float));
/* System.FormatException: Input string was not in a correct format.
 *     at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
 *     at Rextester.Program.Main(String[] args)
 */
Console.WriteLine(Convert.ToString(Math.Pow(10,-10)));
// returns 1E-10
double num = Math.Pow(10,-10);
Console.WriteLine(num.ToString());
// returns 1E-10

【问题讨论】:

标签: c# scientific-notation


【解决方案1】:

为此,您需要使用字符串格式。对于您的情况,Pow(10, -10) 将返回 0.0000000001,因此您需要使用可以显示 10 位小数的格式。

你可以像这样声明一个字符串格式:

const string format = "0.##########";

然后使用:Console.WriteLine(num.ToString(format));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-24
    • 2011-08-31
    • 2013-05-03
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    相关资源
    最近更新 更多