C# 压缩一个巨大的数字?
我试图找到方法来显示大量的能量,但徒劳无功(或者我的大脑正在冬眠)。例如,如果 结果=0.00012845,应显示为12.845 x 10^-5或如果C# 压缩一个巨大的数字?,c#,numbers,C#,Numbers,我试图找到方法来显示大量的能量,但徒劳无功(或者我的大脑正在冬眠)。例如,如果 结果=0.00012845,应显示为12.845 x 10^-5或如果 结果=1284569,应显示为1284.569 x 10^3,依此类推。您可以使用Double.ToString(“E”)以123.456E7()的形式获得科学符号 然后,您可以进一步使用String.Replace将“E”替换为“x10^” 它看起来像这样 string myString = myDouble.ToString("E").Rep
结果=1284569,应显示为1284.569 x 10^3,依此类推。您可以使用Double.ToString(“E”)以123.456E7()的形式获得科学符号 然后,您可以进一步使用String.Replace将“E”替换为“x10^” 它看起来像这样
string myString = myDouble.ToString("E").Replace("E", " x 10^");
嗯,我以前从未尝试过它,我很惊讶它能起作用,请在控制台应用程序上尝试以下代码:
double number = 0.00012845;
while(number > 0.0001)
{
number /= 10;
}
Console.Write(number);
Console.ReadKey();
使用
ToString(“E”)
,它将显示1.284500E-004
我正在尝试找出确定指数和小数点分隔符的规则。“E”格式说明符可以满足您的要求,但它使用的科学标准是有效位在大于或等于1到小于10之间,这不是您要遵循的规则……规则似乎是“压缩”;它似乎缺少“以统一的方式”的规则……@TaW,但在第二个示例中,当“1284.569 x 10^3”比“1284569”长时除外,因此不是真正的压缩。:)