导航:首页 > 编程语言 > java转换科学计数法

java转换科学计数法

发布时间:2023-06-11 15:18:16

1. java科学记数法如何转化成普通记数法

可以借助java.text.DecimalFormat类,先将科学记数法转为指定的格式的字符串,再转为需要的普通计数法。代码可以参考:

doublea=1.1234546789E6;
java.text.DecimalFormatdf=newjava.text.DecimalFormat("00.00");//""00.00"小数点后面的0的个数表示小数点的个数
Stringb=df.format(a);

2. 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

3. JAVA如何将浮点数输出为指定位数的科学计数法

希望可以帮到你:

	@Test
publicvoidtest4(){
floatexp1=1.39e-43f;
System.out.println("科学计数法1=="+exp1);//表示1.39乘以10的负43次方

doubleexp2=47*;
System.out.println("科学计数法2=="+exp2);//表示47乘以10的37次方===4.7E38

floatexp3=1e-43f;//此时43后面必须加上f,否则会报错.编译器同擦汗那个会将指数最为双精度处理。
System.out.println("科学计数法3=="+exp3);//表示1乘以10的负43次方
System.out.printf("%9.2f",exp3);
System.out.printf("%-9.2f",exp3);
// longn=200;//此时不需要在200后面加l,因为编译器能识别这个类型,在这里不存在含混不清的地方。
// System.out.println(n);
//
// doubled=345.678;
// Strings="hello!";
// inti=1234;
// //"%"表示进行格式化输出,"%"之后的内容为格式的定义。
// System.out.printf("%f",d);//"f"表示格式化输出浮点数。
// System.out.printf("%9.2f",exp3);//"9.2"中的9表示输出的长度,2表示小数点后的位数。
// System.out.printf("%+9.2f",d);//"+"表示输出的数带正负号。
// System.out.printf("%-9.4f",d);//"-"表示输出的数左对齐(默认为右对齐)。
// System.out.printf("%+-9.3f",d);//"+-"表示输出的数带正负号且左对齐。
// System.out.printf("%d",i);//"d"表示输出十进制整数。
// System.out.printf("%o",i);//"o"表示输出八进制整数。
// System.out.printf("%x",i);//"d"表示输出十六进制整数。
// System.out.printf("%#x",i);//"d"表示输出带有十六进制标志的整数。
// System.out.printf("%s",s);//"d"表示输出字符串。
// System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s);//可以输出多个变量,注意顺序。
// System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s);//"X$"表示第几个变量。
}

4. java中数值类型转换的问题,double类型显示科学计数法了。

在显示时候调用的是Double类的toString()方法。原因如下:

那么decExponent属性究竟是什么呢?简单来说,

就是小数点向左移动decExponent就是正数,向右移动就是负数。移动几位就是几。

而具体移动规则是移动到小数点左边为0,右边为非0时候停止。

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

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

阅读全文

与java转换科学计数法相关的资料

热点内容
id加密门禁卡可以复制到手机吗 浏览:672
路由器如何控制某个app 浏览:43
C51编译器在标准C的基础上 浏览:260
银行卡掉了可以办车贷解压吗 浏览:317
没解压可以贷款吗 浏览:517
最小pdf阅读器 浏览:808
游戏被加密了怎样用电脑打开 浏览:300
蓝灯如何手动选择服务器 浏览:85
服务器设置在中国意味什么 浏览:571
单片机不能进行选择控制 浏览:694
咕咚手表如何绑定手机app 浏览:530
命令虚拟语气 浏览:405
戴尔系统命令 浏览:583
怎样压缩视频文件大小 浏览:686
51单片机信号发生器 浏览:56
米拍摄影哪个app好 浏览:88
天津致远曙光服务器云服务器 浏览:117
光子程序员怎么获得 浏览:535
中医诊断学第九版pdf 浏览:498
python集成包 浏览:305