我将一些数据存储在数据库中,并使用游标读取这些数据.所有数据均为56.45,3.04,0.03类型,因此小数点后有两个数字.现在我想对它们求和,但这似乎并不容易…我通过c.getDouble(3)获得了这些数字,然后将其添加到sum变量中,如下所示:
sum+= c.getDouble(4) * multi
multi是1到100之间的整数.现在我的问题是,在获得sum变量后,我得到了一个像59.51999999999999999的数字.我没有发布代码,但是除了string.valueOf之外没有任何转换,可以使数字出现在我的小部件上.那么有人经历过吗?根据我的计算,应该是59.52,但是我得到的数字是99999 …为什么会这样? (用Math.round()不能正常工作的有趣的事情,即使我设置(sum)* 100/100,我也得到59.0.
提前致谢!
解决方法:
另一种方法是,可以将sum变量定义为double,然后可以为sum变量设置NumberFormat.
例:
double sum = 21.2015;NumberFormat formatter = new DecimalFormat("#.##");formatter.format(sum);
总结 以上是内存溢出为你收集整理的Android数字格式以某种方式是错误的,而不是3.5,我得到3.499999999,为什么?全部内容,希望文章能够帮你解决Android数字格式以某种方式是错误的,而不是3.5,我得到3.499999999,为什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)