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虚拟机的规范,那么就能够执行该字节码文件。
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
本回答被网友采纳