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

JAVA如何将浮点数输出为指定位数的科学计数法?我不太理解题目,希望就解释一下... JAVA如何将浮点数输出为指定位数的科学计数法?
我不太理解题目,希望就解释一下
展开
 我来答
awydss
推荐于2017-10-10 · TA获得超过274个赞
知道小有建树答主
回答量:560
采纳率:0%
帮助的人:307万
展开全部

希望可以帮到你:

	@Test
public void test4(){
        float exp1 = 1.39e-43f;  
        System.out.println("科学计数法1==" + exp1);// 表示1.39乘以10的负43次方  
  
        double exp2 = 47 * 10000000000000000000000000000000000000d;  
        System.out.println("科学计数法2==" + exp2);// 表示47乘以10的37次方===4.7E38  
  
        float exp3 = 1e-43f;// 此时43后面必须加上f,否则会报错.编译器同擦汗那个会将指数最为双精度处理。  
        System.out.println("科学计数法3==" + exp3);// 表示1乘以10的负43次方  
        System.out.printf("%9.2f",exp3);
        System.out.printf("%-9.2f",exp3);
//         long n = 200;// 此时不需要在200后面加l,因为编译器能识别这个类型,在这里不存在含混不清的地方。  
//         System.out.println(n);  
//         
//         double d = 345.678;  
//         String s = "hello!";   
//         int i = 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$"表示第几个变量。  
}
追问
为什么
System.out.printf("%9.2f",exp3);
System.out.printf("%-9.2f",exp3);
这两段代码我的输出结果是0.00
千锋教育
2016-01-19 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
JAVA输出指定位数的科学计数方法:
public static String parseToCientificNotation(double value) {
int cont = 0;
java.text.DecimalFormat DECIMAL_FORMATER = new java.text.DecimalFormat("0.##");
while (((int) value) != 0) {
value /= 10;
cont++;
}
return DECIMAL_FORMATER.format(value).replace(",", ".") + " x10^ -" + cont;
}

调用方法:
parseToCientificNotation(123332.4);
输出:0.1233324 x10^ 6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
f981510596
2015-10-30 · TA获得超过133个赞
知道答主
回答量:101
采纳率:0%
帮助的人:40.6万
展开全部
使用bigdecimal类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式