java 高精度
2024-08-26 16:24:05
package BigDecimal; import java.math.BigDecimal;
import java.lang.Object; public class BigDecimalTest { public static void add(double i, double j){ System.out.println(i+j);//2.5999999999999996 BigDecimal bi = new BigDecimal(1.2);
BigDecimal bj = new BigDecimal(1.4);
System.out.println(bj);//1.399999999999999911182158029987476766109466552734375
System.out.println(bi);//1.1999999999999999555910790149937383830547332763671875
System.out.println(bi.add(bj));//2.5999999999999998667732370449812151491641998291015625 BigDecimal bis = new BigDecimal("1.2");
BigDecimal bjs = new BigDecimal("1.4");
System.out.println(bjs); //1.2
System.out.println(bis);//1.4
//bis.add(bjs).doubleValue()
System.out.println("---:"+bis.add(bjs));//2.6 String si = String.valueOf(i);
BigDecimal bsi = new BigDecimal(si);
System.out.println(bsi);//1.2 BigDecimal bsii = new BigDecimal(Double.toString(i));
System.out.println(bsii);//1.2
} public static void sub(double i, double j){ System.out.println(j-i); System.out.println(new BigDecimal("1.4").subtract(new BigDecimal("1.2")));// 0.9 } public static void mul(double i, double j){ System.out.println(j*i);//1.68 } public static void div(double i, double j){ System.out.println(i/j);//1.68 }
public static void main(String args[]) { double i = 1.2;
double j = 1.4;
//加法操作
add(i,j); //减法操作
//sub(i, j); //乘法操作
//mul(i, j); //除法操作
div(2.4, 1.2);//2.0
}
}
package BigDecimal; import java.math.BigDecimal; public class FloatTest { public static void main(String[] args) { float i = 1.4f;
float j = 1.2f; System.out.println(i - j);//0.19999993 BigDecimal bi = new BigDecimal(i);
System.out.println(bi);//1.39999997615814208984375 BigDecimal bis = new BigDecimal(String.valueOf(i));
System.out.println(bis); //1.4
BigDecimal bjs = new BigDecimal(String.valueOf(j));
System.out.println(bjs); //1.2 System.out.println(bis.subtract(bjs).floatValue()); //0.2
System.out.println(bis.subtract(bjs).doubleValue());//0.2
}
}
最新文章
- python 静态方法、类方法(二)
- 文件描述符、文件表项指针、inode节点的关系
- linux shell 变量
- google快捷键
- Mysql错误问题记录
- 3. Windows根据端口查进程---ADB 相关报错 ADB server didn't ACK cannot bind ':5037'
- Jmeter介绍
- Data guard RAC配置【二】
- 开源消息中间件DotNetMQ
- IP地址和子网掩码
- (*p)++ 与 *p++ 与 ++*p 拨开一团迷雾
- SNS团队第四次站立会议(2017.04.25)
- asp.net用户控件引用
- mysql添加字段
- learning makeflie wildward character
- [Python]查询oracle导出结果至Excel并发送邮件
- zookeeper集群自动启动脚本
- debian 9 更换源 使用国内源 配置方法
- java FastJSON的使用
- AutoHotkey使用Excel的Com对象可能导致进程残留问题的原因及解决方案