编写一个程序,将用小数表示的浮点数,转换成科学计数法的形式输出.输入的数据没有

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

不知道你问什么语言

Java:浮点数输出,不显示成科学计数法

BigDecimal bg=new BigDecimal("3.456785E-8");

System.out.println(bg.toPlainString());

C:

public abstract class ScienceCount

{

public static string KXJSF(double num)

{

double bef = System.Math.Abs(num);

int aft = 0;

while (bef >= 10 || (bef < 1 && bef != 0))

{

if (bef >= 10)

{

bef=bef/10;

aft++;

}

else

{

bef=bef*10;

aft--;

}

}

Return string.Concat(num >=0 ?"" :"-",ReturnBef(bef),"E",ReturnAft(aft));

}

///

/// 有效数字的处理

///

/// 有效数字

/// 三位有效数字,不足则补零

public static string ReturnBef(double bef)

{

if (bef.ToString() != null)

{

char[] arr = bef.ToString().ToCharArray();

switch (arr.Length)

{

case 1:

case 2: return string.Concat(arr[0], ".", "00");

break;

case 3: return string.Concat(arr[0] + "." + arr[2] + "0");

break;

default: return string.Concat(arr[0] + "." + arr[2] + arr[3]); break;

}

}

else

{

return "000";

}

}

///

/// 幂的处理

///

/// 幂数

/// 三位幂数部分,不足则补零

public static string ReturnAft(int aft)

{

if (aft.ToString() != null)

{

string end;

char[] arr = System.Math.Abs(aft).ToString().ToCharArray();

switch (arr.Length)

{

case 1: end = "00" + arr[0];

break;

case 2: end = "0" + arr[0] + arr[1];

break;

default: end = System.Math.Abs(aft).ToString();

break;

}

return string.Concat(aft >=0 ?"+" :"-",end);

}

else

{

return "+000";

}

}

}

//调用代码:

static void Main()

{

string num = "0";

while (num != "#")

{

num = Console.ReadLine();

if(!string.IsNullOrEmpty(num.Trim()))

{

Console.WriteLine(ScienceCount.KXJSF(double.Parse(num)));

}

}

}

}

相关文档
最新文档