double转BigDecimal精度丢失的解决方案。

double转BigDecimal精度丢失的解决方案。因为double有精度丢失的问题,所以关于小数点的计算通常使用BigDecimal来计算。但直接调用BigDecimal的构造函数,会出现精度丢失问题。publicBigDecimal(doubleval){this(val,MathContext.UNLIMITED);}例子:publicclassDemo1{publicstaticvoidmain(String[]args){//输出结果:4.7999999999999998223

大家好,又见面了,我是你们的朋友全栈君。

因为double有精度丢失的问题,所以关于小数点的计算通常使用BigDecimal来计算。
但直接调用BigDecimaldouble构造函数,会出现精度丢失问题。

/** * BigDecimal传double的构造函数 */
public BigDecimal(double val) { 
   
        this(val,MathContext.UNLIMITED);
}

例子:

public class Demo1 { 
   
    public static void main(String[] args) { 
   
    //输出结果:4.79999999999999982236431605997495353221893310546875
        System.out.println(new BigDecimal(4.8));
    }
}

解决方案:
double类型转为String类型就可以了。
调用的是BigDecimalString构造函数。

public class Demo1 { 
   
    public static void main(String[] args) { 
   
        double d = 4.8;
        //输出结果:4.79999999999999982236431605997495353221893310546875
        System.out.println(new BigDecimal(d));
        //输出结果:4.8
        System.out.println(new BigDecimal(String.valueOf(d)));
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136242.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 导弹防御系统(dfs+最长上升子序列)

    导弹防御系统(dfs+最长上升子序列)原题连接/为了对抗附近恶意国家的威胁,R 国更新了他们的导弹防御系统。一套防御系统的导弹拦截高度要么一直 严格单调 上升要么一直 严格单调 下降。例如,一套系统先后拦截了高度为 3 和高度为 4 的两发导弹,那么接下来该系统就只能拦截高度大于 4 的导弹。给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。输入格式输入包含多组测试用例。对于每个测试用例,第一行包含整数 n,表示来袭导弹数量。第二行包含 n 个不同的整数,表示每个导弹的高度。当输入测试用例

    2022年8月8日
    9
  • docker部署Discuz论坛

    docker部署Discuz论坛

    2021年5月29日
    158
  • table文字水平垂直居中

    table文字水平垂直居中lt table gt nbsp nbsp lt tr gt nbsp nbsp nbsp nbsp lt tdstyle text align center vertical align middle gt nbsp nbsp nbsp nbsp nbsp nbsp 文字内容 nbsp nbsp nbsp nbsp nbsp nbsp text align center 设置水平居中 nbsp nbsp nbsp nbsp nbsp nbsp vertical align middle 设置垂直居中 nbsp nbsp nbsp nbsp

    2025年12月14日
    0
  • android strictmode有什么作用,Android StrictMode policy

    android strictmode有什么作用,Android StrictMode policy问题RunningintosomeANRissueswithanandroidapplicationsoIimplementedtheStrictModepolicies.Neverusedthisbeforesohopefullysomeonecanhelpexplainthefollowing:Whydoesthelogshow2…

    2022年6月3日
    39
  • 软件测试面试笔试题及答案_软件测试工程师面试题

    软件测试面试笔试题及答案_软件测试工程师面试题软件缺陷:1)软件未实现产品说明书要求的功能2)软件出现了产品说明书指明不应该出现的错误3)软件实现了产品说明书未提到的功能4)软件未实现产品说明书虽未明确提及但应该实现的目标5)软件难以理

    2022年8月6日
    3
  • idea2022.01.12激活码永久[最新免费获取]2022.03.02

    (idea2022.01.12激活码永久)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~40ZKSWCX8G-eyJsaWNlb…

    2022年4月2日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号