我试图找出方法来显示一个巨大的数字的权力,但徒劳(或者也许我的大脑冬眠)。例如,如果凝聚了一个庞大的数字?
结果= 0.00012845,则应该显示为12.845 x 10^-5,或者如果 结果= 1284569,则应该显示为1284.569 x 10^3等等。
我试图找出方法来显示一个巨大的数字的权力,但徒劳(或者也许我的大脑冬眠)。例如,如果凝聚了一个庞大的数字?
结果= 0.00012845,则应该显示为12.845 x 10^-5,或者如果 结果= 1284569,则应该显示为1284.569 x 10^3等等。
您可以使用Double.ToString(“E”),以获得科学记数法中123.456E7的形式(https://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.110%29.aspx#SpecifierExponent)
然后你就可以走一步,并使用与string.replace取代“E”与“×10 ^”。
这将是这个样子......
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' – TaW
https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx –
I试图找出你正在使用哪些规则来确定你的指数是什么以及你的小数点分隔符在哪里。 “E”格式说明符将按照你想要的方式进行,但它将使用有效数字大于或等于1且小于10的科学标准,这不是你遵循的规则... – Chris