网站没有百度权重,宝安中心医院怎么样,在县城做商城网站,怎么看网站有没有备案在实际编码中#xff0c;会遇到很多高精度的事例#xff0c;比如#xff0c;在计算金钱的时候就需要保留高精度小数#xff0c;这样计算才不会有太大误差#xff1a;在下面的代码中#xff0c;我们验证了#xff0c;当两个float型的数字相加#xff0c;得到的结果和我们…在实际编码中会遇到很多高精度的事例比如在计算金钱的时候就需要保留高精度小数这样计算才不会有太大误差在下面的代码中我们验证了当两个float型的数字相加得到的结果和我们的预期结果是有误差的为了减小和防止这种误差的出现我们需要使用BigInteger类和BigDecimal类来计算。package com.ietree.base.number;import java.math.BigDecimal;import java.math.BigInteger;public class BigIntegerTest {public static void main(String[] args) {float f1 123.01f 2.01f;// 预期输出125.02实际输出125.020004System.out.println(f1);// 预期输出125.02实际输出125.02000000000001System.out.println(123.01 2.01);System.out.println();// 高精度整数测试BigInteger bint1 new BigInteger(125);BigInteger bint2 new BigInteger(999);BigInteger tmp;// 相加tmp bint1.add(bint2);System.out.println(bint1 bint2 tmp);// 相减tmp bint2.subtract(bint1);System.out.println(bint2 - bint1 tmp);// 相乘tmp bint1.multiply(bint2);System.out.println(bint1 * bint2 tmp);// 相除tmp bint2.divide(bint1);System.out.println(bint2 / bint1 tmp);// 求余数tmp bint2.remainder(bint1);System.out.println(bint2 % bint1 tmp);// 求次方tmp bint2.pow(2);System.out.println(bint2的二次方 tmp);System.out.println();// 高精度小数测试BigDecimal bd1 new BigDecimal(123.01);BigDecimal bd2 new BigDecimal(2.01);BigDecimal bd;// 相加bd bd1.add(bd2);System.out.println(bd1 bd2 bd);// 相减bd bd1.subtract(bd2);System.out.println(bd2 - bd1 bd);// 相乘bd bd1.multiply(bd2);System.out.println(bd1 * bd2 bd);// 相除// bd bd1.divide(bd2);bd bd1.divide(new BigDecimal(2.0));System.out.println(bd1 / 2.0 bd);// 求余数bd bd1.remainder(bd2);System.out.println(bd2 % bd1 bd);// 求次方bd bd1.pow(3);System.out.println(bd2的三次方 bd);System.out.println();// 四舍五入保留小数位数BigDecimal bd3 new BigDecimal(123.01).setScale(5,5);System.out.println(bd3 bd3);}}以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。