`
scholers
  • 浏览: 619589 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从微贷网提现金额数字的bug谈谈如何控制精度

 
阅读更多
 
发表
 
 
 
 

从微贷网提现金额数字的bug谈谈如何控制精度

 码农游世界 2017-10-19 09:23

今天早上去微贷网提现,进入到提现界面发现这样的一个问题:

微贷网提现页面的bug

看到了,我提现的金额小数点后面带了n多个0,我不知道微贷网的技术框架体系是什么,也不知道开发语言是什么,如果是java的话,我有必要给大家普及一下java里面怎么控制精度的问题。

java里面采用了一个BigDecimal类来控制精度,具体如何使用大家可以自行查询,

常见的操作有这样:

加减乘除如下:

add(BigDecimal augend)

subtract(BigDecimal subtrahend)

multiply(BigDecimal multiplicand)

divide(BigDecimal divisor)

这个问题也是也是一个常见的面试题目,在金融行业经常会基于BigDecimal类来封装常见的金额操作,比如精度控制,比如分,元的转换等。

如果你用double,float等来做金额计算,会发现得不到你想要的结果,甚至可能在不同的场景下等到的结果也会不一样。

这个是阿里巴巴java开发规约中提到的:

【强制】小数类型为decimal,禁止使用float和double。

说明:float和double在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不正确的结果。如果存储的数据范围超过decimal的范围,建议将数据拆成整数和小数分开存储

关于今日头条| 用户协议| 运营规范| 自律公约| 侵权投诉| 联系我们 © 2018 toutiao.com All Rights Reserved
分享到:
评论

相关推荐

    支付及金额提现通用测试用例.xlsx

    支付及金额提现通用测试用例.xlsx

    提现单.DOC

    - **记录与追踪**:提现单是记录企业内部资金流动的重要凭证,它能够清晰地记录每一次提现的申请者、提现金额、原因等关键信息,便于后期审计和财务分析。 - **审批流程**:提现单是提现申请的正式书面证明,通常...

    微信提现页面HTML+CSS+JQuery2

    例如,当用户输入提现金额时,可以实时检查输入的有效性,确保金额在允许的范围内。此外,还可以在提交表单前进行最后的验证,如检查用户是否已登录,防止非法提现操作。 总的来说,这个项目提供了一个学习和实践...

    账户提现模块

    1. 用户界面:用户可以通过简洁明了的界面输入提现金额、选择提现方式(如银行转账、电子钱包等),并提交提现申请。 2. 资金验证:在用户提交提现请求后,系统需要验证用户的账户余额是否足够,防止透支或负值情况...

    Excel模板提现登记表.zip

    例如,日期只能输入在特定范围内,金额必须是数字且不能为负。 7. **排序与筛选**:模板可能包含已设置的排序和筛选条件,方便用户按日期、申请人、提现金额等关键字段快速查找和分析数据。 8. **图表**:如果数据...

    怎么查看支付宝提现到账时间.docx

    需要注意的是,2小时快速提现需要收费,费用金额根据用户的提现金额和银行卡类型而定。 三、普通提现 普通提现是指用户申请提现后,款项在2天内到达提现银行账户的方式。这类方式适用于个人用户和公司用户。 普通...

    资金账户提现模块

    它需要与银行接口进行交互,验证用户的提现请求,包括但不限于用户身份验证、账户余额检查、提现金额限制等。通常,这一过程会涉及到银行的API调用,例如通过OAuth认证确保安全,并通过HTTPS协议传输敏感数据,以...

    Android仿支付宝提现

    1. 输入框:用户需要输入提现金额,因此我们需要一个EditText控件,可以设置为数字输入模式,并添加货币符号。 2. 提现按钮:通常是一个具有明显视觉效果的Button,用户点击后触发提现操作。按钮的样式可以通过...

    DISCUZ 积分提现中心

    《DISCUZ积分提现中心详解及应用》 DISCUZ积分提现中心是一款专为DISCUZ论坛用户设计的插件,旨在将用户在论坛中积累的虚拟积分转化为实际的经济利益,提供了一种便捷的方式让社区活跃度与经济效益相结合。这款插件...

    2019年最新从PayPal提现到国内银行的方法实战教程.pdf

    文档描述了Payoneer的优势,包括较低的提现费用、快速的提现速度、低起提金额和广泛的应用范围。不过,也指出使用Payoneer提现时存在的缺点,如手续费率相对较高。 方案二是通过WorldFirst(万里汇)实现提现。...

    积分提现中心商业版DISCUZ

    5. **用户界面**:提供用户友好的提现界面,让用户能清晰了解自己的积分余额、可提现金额以及兑换流程。 6. **活动推广**:通过积分提现功能,运营者可以设计各种积分获取活动,鼓励用户积极参与,提高论坛活跃度。...

    微信提现到零钱V3接口的对接java实现demo.rar

    微信提现到零钱V3接口的对接Java实现主要涉及到微信支付平台的相关开发,这是一个关键的金融功能,允许用户将资金从微信支付账户转移到他们的微信零钱。以下是对这个实现过程的详细说明: 1. **微信支付接口对接**...

    微信提现到零钱DEMO

    在调用微信提现接口时,需要提供包括商户号、openid、金额、备注等在内的请求参数。这些参数必须按照微信支付的规范进行加密和签名,以确保交易的安全性。 5. **签名机制**: 微信支付API采用签名机制来防止数据...

    Discuz 积分提现中心插件

    Discuz 积分提现中心插件是一款专为Discuz论坛平台设计的扩展功能,它允许用户将他们在论坛中积累的积分兑换成实际的货币或奖品。这一插件的引入,增强了用户参与度,同时也为论坛运营者提供了一种激励用户、活跃...

    支付宝转账demo-实现提现功能

    支付宝转账Demo是实现在线提现功能的一个实例,主要针对开发者或者技术爱好者,旨在帮助他们理解和集成支付宝的转账接口。在这个Demo中,你可以找到如何利用支付宝API进行单笔转账的具体步骤和代码实现,这对于电商...

    微信小程序提现源码

    微信小程序提现本人亲测可用,并且项目已经上线,大家放心下载吧

    (nodejs)微信小程序提现

    开发商用微信小程序,必不可少的微信提现功能。 主要结构就是 js 下载后自己改吧改吧可以当做功能模块使用。api 接口用微信官网接口、这个东西研究了一天,实话说有些文档都是说的简单,实际使用还是要开发经验的。...

    电商系统_提实模块设计_原型

    1. 提现页面:包含提现入口、提现金额输入框、选择提现方式(如银行转账、第三方支付等)、提交按钮等元素。 2. 提现记录:展示历史提现请求,包括日期、金额、状态、操作等详细信息。 3. 设置界面:允许商家设置...

    仿微信提现页面,HTML+CSS+JQuery

    这个页面的目的是提供类似微信应用中的提现功能,让用户能够直观地了解提现流程,并进行相关操作。以下是对每个部分的详细说明: 1. HTML(HyperText Markup Language): HTML是网页内容的基础,它定义了页面的...

Global site tag (gtag.js) - Google Analytics