编写一个程序,将用小数表示的浮点数,转换成科学计数法的形式输出.输入的数据没有
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)));
}
}
}
}