java 查询的结果为 0e-8 和 0E-12,这是什么意思

MYSQL多表联查,右表中无对应数据(decimal),用 IFNULL() 设置默认值为0,后台查询结果为 0e-8。这是什么情况 ?
之前还曾出现过 0E-12(不是该条 SQL)
0E-8 和 0E-12

java查询的结果为0e-8和0E-12意思是代码错误,正确代码如下

BigDecimal b = new BigDecimal("0.00000000");

System.out.println(b); //输出 0E-8

System.out.println(b.toPlainString()); //输出 0.00000000

BigDecimal b = new BigDecimal(0);

DecimalFormat df=new DecimalFormat("0.00000000");

String str=df.format(b);

System.out.println(str);

JAVA使用技巧

Java号称是一门“一次编译到处运行”的语言,从写的java文件到通过编译器编译成java字节码文件(也就是.class文件),这个过程是java编译过程;而java虚拟机执行的就是字节码文件。

不论该字节码文件来自何方,由哪种编译器编译,甚至是手写字节码文件,只要符合java虚拟机的规范,那么就能够执行该字节码文件。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-24

BigDecimal b = new BigDecimal("0.00000000");

System.out.println(b); //输出 0E-8

System.out.println(b.toPlainString()); //输出 0.00000000

BigDecimal b = new BigDecimal(0);

DecimalFormat df=new DecimalFormat("0.00000000");

String str=df.format(b);

System.out.println(str);

扩展资料:

Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

参考资料来源:百度百科-Java

本回答被网友采纳
第2个回答  2018-08-23
BigDecimal b = new BigDecimal("0.00000000");
System.out.println(b); //输出 0E-8
System.out.println(b.toPlainString()); //输出 0.00000000
第3个回答  2017-08-26
我也很奇怪
第4个回答  2017-03-14
1、e.一般习惯用来做异常信息的输出处理 2、比如在try ... catch块中,进行异常信息Exception e的对象e错误信息打印,如下: try { // 程序处理} catch(Exception e) { e.printStackTrace();}