A. java 关于科学计数法的解决

import java.util.Arrays;
class Animal
{
static String str = "3.4E-5";
static double 转换后的数 = 0;
public static void main(String[] args)
{

Animal animal = new Animal();
转换后的数 = animal.conversion(str);

double[] buf = {2,0.1234,转换后的数,0.1234,0.1234};
String[] ss = new String[buf.length];
Arrays.sort(buf);//从小到大排列

for(int i = 0; i < buf.length;i++)
{
if(buf[i] == 转换后的数)//如果是原来的科学计数,将原来的str存至ss数组
{
ss[i] = str;
}
else
ss[i] = buf[i] + "";
}//打印出排列后的结果
System.out.print("比较后:" );
for(String s : ss)
System.out.print(s + " "); }

//将科学计数转换成正常数字
public double conversion(String str)
{
String[] s = str.split("E-");
double num1 = Double.parseDouble(s[0]);
double num2 = Double .parseDouble(s[1]);
return num1 * Math.pow(10d, num2);
}
} 运行结果:比较后:0.1234 0.1234 0.1234 2.0 3.4E-5

B. java中如何将科学计数法转成int类型

首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数字的长度是在int的范围内的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!

C. java 科学计数法怎么转换为数字

首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数专字的长度是在int的范围内属的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!

D. 如何使java中double类型不以科学计数法表示

在java中,把一个double或者BigDecimal的小数转换为字符串时,经常会用科学计数法表示,而我们一般不想使用科学计数法,可以通过:
DecimalFormat a = new DecimalFormat("#,##0.00000000");
System.out.println(a.format(11111111.0000001000000001));
的方式来格式化输出字符串。

对于BigDecimal的小数,如果制定精度<=6, 则可以放心的使用其toString函数。但是对于>6的精度,有可能会使用科学计数法,查看器代码有如下判断:
long adjusted = -(long)scale + (coeff.length-1);
if ((scale >= 0) && (adjusted >= -6)){
非科学计数法的toString.
}
其中scale指BigDecimal的精度,
coeff对应使用BigInteger存储的值的toString字符串, coeff = intVal.abs().toString().toCharArray(),也就是说BigDecimal在对应精度下的整数值,例如BigDecimal ob = new BigDecimal(0.00000011), ob的精度为7, 则coeff="1";如果ob=new BigDecimal(0.10000011), 则coeff="1000001";如果ob=new BigDecimal(0.00000001), 则coeff="0";

E. java 如何将2.12转换成科学计数法2.1200e+00显示

将2.12转换成科学计数法2.1200e+00显示的Java程序如下

publicclassA{
publicstaticvoidmain(String[]args){
doubled=2.12;
Strings=String.format("%e",d);//%e表示结果被格式化为用计算机科学记数法版表权示的十进制数
System.out.println(s);
}
}

运行结果

2.120000e+00

F. java如何判断一个string值是数字和科学计数法

if(string.indexof("E")>0){
System.out.println(string+"是科学计数专法");
}elseif(string.indexof(".")>0){
System.out.println(string+"是科学小属数");
}else{
System.out.println(string+"是整数");
}

G. 如何使java中double类型不以科学计数法表示

import java.text.DecimalFormat
double a = 2.3659874;
//小数格式化,引号中的0.000表示保留小数点后三位(第四位四舍五入)
DecimalFormat df = new DecimalFormat("0.000");
String num = df.format(a);
System.out.println(num);

输出结果就是 2.366
关于DecimalFormat类,可以上网查具体资料
很C语言的一样
回答者:ωǒ呸oヤ - 初学弟子 一级 1-21 15:49

数据类型 字节 表示范围
byte(字节型) 1 -128~127
short(短整型) 2 -32768~32767
int(整型) 4 -2147483648~2147483647
long(长整型) 8 -9223372036854775808 ~ 9223372036854775807
float(浮点型) 4 -3.4E38~3.4E38
double(双精度型) 8 -1.7E308~1.7E308
char(字符型) 2 从字符型对应的整型数来划分,其表示范围是0~65535
boolean(布尔型) 1 true或false
回答者:lanhawk - 助理 二级 1-21 17:25

简单数据类型
1.布尔类型--boolean

布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:
boolean b=true;

2.字符类型--char

字符常量:
字符常量是用单引号括起来的一个字符,如'a','A';

字符型变量:
类型为char,它在机器中占16位,其范围为0~65535。字符型变量的定义如:
char c='a'; /*指定变量c为char型,且赋初值为'a'*/

3.整型数据

整型常量:
◇ 十进制整数
如123,-456,0
◇ 八进制整数
以0开头,如0123表示十进制数83,-011表示十进制数-9。
◇ 十六进制整数
以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。

整型变量:
数据类型 所占位数 数的范围
byte 8 -27~27-1
bhort 16 -215~215-1
int 32 -231~231-1
long 64 -263~263-1

4.浮点型(实型)数据

实型常量:
◇ 十进制数形式
由数字和小数点组成,且必须有小数点,如0.123, 1.23, 123.0
◇ 科学计数法形式
如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。
◇ float型的值,必须在数字后加f或F,如1.23f。

实型变量:

数据类型 所占位数 数的范围
float 32 3.4e-038 ~3.4e+038
double 64 1.7e-038 ~1.7e+038

当然还有一些比较复杂的数据类型,如类(class)、接口(interface)和数组(array)。

http://www.builder.com.cn/developer/code/story/0,3800066897,39032777,00.htm

参考资料:http://bbs.xml.org.cn/blog/more.asp?name=RandomRen&id=9848

H. java代码怎么把科学计数法转换为具体数字

publicstaticvoidmain(String[]args)
{
BigDecimalbd=newBigDecimal("1.03219E+14");
System.out.println(bd.toPlainString());

}
不过会略去之后的数专字属

I. Java中如何使用科学计数法

java支持输入数字的时候复直接使用科制学计数法:
double d = 1.213123123123e100;
如果太大了或者小树点太多了好像会损失精度。
另外如果真的不行就用java.math.BigDecimal,里面是用字符串处理数据的要多长有多长,就是速度比较慢

J. java中科学计数法怎样保留两位小数,如1.0236760248947194E-5怎样表示成1.02E-5

public class StringFormst2 {

public static void main(String args[])throws IOException{
double a=1.23456D;
System.out.printf("%1.1e\r\n", a);

a=12.3456D;
System.out.printf("%1.1e\r\n", a);

a=123456D;
System.out.printf("%1.1e\r\n", a);
}
}