收藏 分享(赏)

java中double变量保留小数问题.doc

上传人:gnk289057 文档编号:4522213 上传时间:2019-01-01 格式:DOC 页数:2 大小:16.50KB
下载 相关 举报
java中double变量保留小数问题.doc_第1页
第1页 / 共2页
java中double变量保留小数问题.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 做 java 项目的时候可能经常会遇到 double 类型变量保留小数的问题,下面便把我的经验做个简短的总结: java 中 double 类型变量保留小数问题大体分两种情况:(一):小数点后面位数过长,四舍五入保留指定位数:可以用以下代码实现:public class TestDemo public static void main(String args) double a=15.32743859;double b=Math.round(a*10000)/10000.0000;/保留四位小数System.out.println(b); 想保留 n 位小数,就 Math.round(a*1

2、0的 n 次方)/10的 n 次方.n 个0。(二):如果小数点后末位为0,myeclipse 中不予显示,如double a=15.80;System.out.print(a);则在控制台中输出的结果是15.8。而我们有时候希望把百分位的0也显示出来,比如说显示商品价格,一般是显示两位小数,如果商品价格是15.8,也显示为15.80,如果商品价格是15,也显示为15.00,这种情况,用(一)中的方法便无法实现了,那应该如何实现呢?请看下面代码:import java.text.DecimalFormat;public class TestDemo public static void mai

3、n(String args) DecimalFormat df =new DecimalFormat(“#0.00“);double a=15;System.out.println(df.format(a); 这样,即使在我们的 double 类型变量是15,显示出来的也是15.00。当然,我们希望显示多少位就在“#0.00“的点后面去控制0的个数便可以。如果是“#0“的话,那我们的 double 变量无论是15.0或是15.00都能显示成15,而如果我们的 double 变量是15.60,则显示为16,即这种方法也可以实现四舍五入。它包含了(一)的功能,所以我们遇到两种情况都可以选择这种方法

4、。后记:我在做 u1项目超市收银管理系统的时候便遇到了这个问题。在后期的测试完善阶段,我发现出现项目中商品价格的地方一般都显示为一位小数,而实际生活中一般是保留两位小数。于是乎苦心修改:不断调整 xml 中的数值、给 double 变量赋初值0.00、用 Math.round()等等等等,不胜枚举,都没有达到预期的效果,弄得自己丈二和尚摸不着头脑。老师的“进行特殊处理”的关键提示指引着我继续寻找问题的答案,花了大半天的时间才解决。说起来本周都成了“bug“周了,各种不顺,各种调试,真是举步维艰。然而尽管如此,我还是相信:不要怕错误,不要怕问题,要在痛苦解决问题的过程中增加经验值。柳暗花明也许就在山穷水尽之后。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报