float num = 0.00005f;
num+=1000;
System.out.println(num);结果是1000.00006
可是当num+=10000;时,打印的结果就是
10000.0可是我需要小数点,即打印1000.00006.而且现在整个程序都用的是float,我还没办法改,这该怎么办?
解决方案 »
- 抽象类与抽象方法的问题
- 如何将表示多维数组的String分割为由单独数组元素组成的String数组?
- LineNumberReader如何判断文件读完?
- 如何通过正则表达式获取到:jdbc:hsqldb:hsql://localhost:8888/test 里的localhost和8888值
- 求《Visual C++精彩实例详解》光盘
- 老师,状态栏里怎么显示 鼠标当前位置
- Jsp中监听的问题
- 想转向JAVA不知道在WIN下开发用什么IDE最好。编译器也可以。
- 彩练这个公司到底怎么样?---愿以100分相送,顺祝大家中秋节快乐!
- 谢谢各位了
- java论坛
- 刚才去thoughtworks面试,被结结实实的鄙视了一把,不过输的心服口服!
你可以直接 num+=10000f;
最好的办法是避免处理小数(比如要处理5位小数,就用整型保存实际数值乘以10万),或者BigDecimal
或者 要不 你就 格式化试试 System.out.printf("%.5f", num);
转成 double 的
这样
float num = 0.00005F;
double num1 = (double)num;
num1 += 10000;
System.out.printf("%.5f", num1);