脚本宝典收集整理的这篇文章主要介绍了Java,Python数据失真怎么处理,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1,Java
当你进行java的四则运算的时候,尤其是double,float类型的,当小数点超过3位(具体多少位不太清楚)的时候,就会出现失真的情况(精度误差)
所以,需要使用BigDecimal 函数来处理
public static void main(String[] args) { while (true) { double f, t; Scanner k = new Scanner(System.in); f = k.nextDouble(); t = k.nextDouble();//这个就是输入了啦 //System.out.println(f+t); BigDecimal bigDecimal1=new BigDecimal(Double.toString(f));//用string不会丢失double的精度 BigDecimal bigDecimal2=new BigDecimal(Double.toString(t)); System.out.println(bigDecimal1.add(bigDecimal2));//相加输出 System.out.println(bigDecimal1.subtract(bigDecimal2));//相除 System.out.println(bigDecimal1.divide(bigDecimal2, 2, RoundingMode.HALF_UP));//相除 //divide(bigDecimal2,保留几位小数,舍入模式) System.out.println(bigDecimal1.multiply(bigDecimal2));//相乘 } }
Python
Python就很简单了,直接使用decimal库
from decimal import * a = Decimal("4.212") b = Decimal("5.412412") c = a * b print(c)
以上是脚本宝典为你收集整理的Java,Python数据失真怎么处理全部内容,希望文章能够帮你解决Java,Python数据失真怎么处理所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。