java中double型小数位数问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中double型小数位数问题相关的知识,希望对你有一定的参考价值。
public class EX1_3
public static void main(String[] args)
double x = 2.3;
x += 1.2 * 3 + x++;
System.out.println(x);
x += x + 4 * 2 + x--;
System.out.println(x);
运行结果为:
8.2
32.5999999999994
同是double型,两条式子也差不多,为什么第一个输出的数只有一位小数,第二个就有很多位呢?
你可以使用System.out.printf("%1.10f", x);这样就可以看到后面被省略的部分了。
不知道这样回答清楚不清楚? 参考技术A 第一个是8.200000000000000,后面的零省略了。下一个由于不是整位所以全部显示出来了!
java基本数据类型
基本数据类型:
整数型:
long------2的64次方
int-------2的32次方
short-----2的16次方
byte------2的8次方
浮点型:
float-----小数位数最多7位, 保持总位数是8位
double----小数位数最多15位, 保持总位数是16位
逻辑型:
boolean---不是true就是false
字符型:
char------一个字符(在ASCII码中的位置)
注释
变量, 常量, 赋值, 运算符, 表达式
变量: 表示一个值的抽象概念
赋值运算符 =
赋值
变量的类型 变量名 = 变量值;
变量的赋值:---> "="
数据类型 变量名 赋值运算符 变量值
String name = "我是好人";
数字, boolean型可以直接写
字符(char型)只能用单引号
String, 字符串: 多个char型字符串在一起---用双引号
二元运算符: +(加号) -(减号) *(乘号) /(除号) %(取余数)
加号和减号也可以用于表示正负数
+= -= *= /=
一元运算符: ++ --
关系运算符:
== > < >= <= !=
逻辑运算符:
& && | || ! ^(异或运算: 转成二进制(位数短的用0去补), 相同为0, 不同为1)
三元表达式:
boolean?值1:值2;
常量:
修饰符: final
以上是关于java中double型小数位数问题的主要内容,如果未能解决你的问题,请参考以下文章