关于String转Double后计算值出错的问题解决

编程入门 行业动态 更新时间:2024-10-25 10:25:01

关于<a href=https://www.elefans.com/category/jswz/34/1769667.html style=String转Double后计算值出错的问题解决"/>

关于String转Double后计算值出错的问题解决

在做String转Double后一般的加减乘除都能得到正确结果有个别会出现偏差,比如:

String s1="0.21";

String s2="0.02";

double sum = Double.valueOf(s1)+Double.valueOf(s2);

或者

double d1=0.21;

double d2=0.02;

double sum = d1+d2;

得到的sum不是0.23而是0.22999999999999998

这里就会出现偏差了,所以为了解决这种问题,我写了一个求和的方法,减、乘、除等也只稍加修改即可,所以就不写出来了。

下面开始说明我的思路:

首先我把2个字符串s1和s2以小数点分割,分成整数部分和小数部分,如果没有小数点直接求和运算就能得到结果所以不考虑这个情况,接下来,我把分成整数和小数部分我都当成整数求和,那么就只要判断小数相加后有没进位就可,一般相加进位只有1,相乘就不是了(这里只说相加,如果最后你按照相加的逻辑推演不出相乘的方法你给我留言),最后把整数和小数部分一拼接就好了,输出的字符串就是结果了,你可以把这个String类型以任意你想要的int,double等类型返回也是可以的。

代码演示:

public void test() {
String s1="123.99";

更多推荐

关于String转Double后计算值出错的问题解决

本文发布于:2024-02-13 16:11:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759035.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:String   Double

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!