计算机基础之浮点数问题与如何精确计算小数

本文探讨了计算机中浮点数存在的不精确问题,源于十进制到二进制转换的限制,以及如何使用BigDecimal进行精确的小数计算。通过Java示例展示了BigDecimal在处理财务数据时的优势。
摘要由CSDN通过智能技术生成

大家好啊,这次鸭血粉丝将和大家探讨一个计算机基础问题:关于浮点数带来的问题,以及如何精确地计算小数。

为什么会想到和大家讨论这个问题呢?

这还得从我公司的项目讲起。由于我是中途加入公司项目的,没有从零开始参与项目的构建。但在开发的过程中我发现在记录存款和消费金额等与钱有关的数据时项目中用到的都是BigDecimal类。

对于BigDecimal这个类我的印象中只知道它是一个小数工具类,可以完成很多与小数相关的计算。可是基本数据类型中明明已经有了float和double两个浮点数类型,为什么还要用BigDecimal呢?

带着疑惑,我一边探索,一边写下了这篇文章

浮点数带来的问题

假如你在面试,面试官看到你有和金融,银行相关的项目的经历,可能会问你记录存款和消费金额等与钱有关的数据时使用什么数据类型?

如果你能答上来BigDecimal等小数工具类的话,他可能会继续问你:为什么放着现成的float和double不用,要使用小数工具类呢?

这里就涉及到浮点数在计算机系统中存储的问题了。

我们可以通过自己熟悉的语言快速地重新浮点数计算不精确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值