在JAVA中多次⼩数相加,2020-08-09:如何实现两⾦额数据相
加(最多⼩数点两位)?...
福哥答案2020-08-09:
1.整数存储。⽐如1.23元,⽤123存储。
2.字符串存储。⽐如1.23元,⽤"12
3.00"存储。
3.⾼精度浮点数存储。⽐如java⾥⽤BigDecimal,c#⾥⽤decimal。有精度损失。
参考答案
bigdecimal格式化两位小数其实问题并不难,就是考察候选⼈对 JavaScript 数据运算上的认知以及考虑问题的缜密程度,有很多坑,可以⽤在笔试题,如果⽤在⾯试,回答过程中还可以随机加⼊有很多计算机基础的延伸。
回到这个问题,由于直接浮点相 yu 加会失精,所以要转整数;
(可以插⼊问遇到过吗?是否可以举个例⼦?)。
转整数是第⼀个坑,虽然只有两位可以通过乘以100转整数,但由于乘以⼀百和除以⼀百都会出现浮点数的运算,所以也会失精,还是要通过字符串来转;(可以插⼊问字符串转整数有⼏种⽅式?) 字符串转整是第⼆个坑,因为最后要对齐计算,如果没考虑周全先toFixed(2),对于只有⼀位⼩数点数据进⼊计算就会错误;转整数后的计算是个加分点,很多同学往往就是直接算了,如果可以考虑⼤数计算的场景,恭喜同学进⼊隐藏关卡,这就会涉及如何有效循环、遍历、算法复杂度的问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论