范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

面试官问我存储金额应该用哪种数据类型,我竟这样回答

  前言
  ​ 最近在面试时,碰到这样一个问题:在问到项目部分时,面试官问我:你的项目中用到的分数、金额之类的数字是用的什么数据类型? 我没有过多思考脱口而出:double!随后面试官又问:为啥不用float?
  ​ 听到这个问题,脑子里竟然突然有些懵,回答道:double用着顺手所以就用了,面试过后我自己在听录音复盘时(远程线上面试)听到自己的回答不由得扶额苦笑,后面又对这一块的内容进行了回顾加深。double和float的区别
  float(单精度浮点数)和double(双精度浮点数)的主要区别如下:
  ​ 1)有效数字位数不同
  ​ 单精度浮点数有效数字为8位
  ​ 双精度浮点数有效数字为16位
  ​ 也就是说因为有效数字位数不同,所以双精度的double要比单精度的float要更精准一些。
  ​ 2)数值取值范围不同
  ​ 单精度浮点数的表示范围:-3.40E+38~3.40E+38
  ​ 双精度浮点数的表示范围:-1.79E+308~1.79E+308
  ​ 3.40E+38的意思是3.4*10的38次方,而1.79E+308指的是1.79*10的308次方,所以double的取值范围要远远大于float
  ​ 3)内存中占有的字节数不同
  ​ 单精度浮点数在内存中占4个字节
  ​ 双精度浮点数在内存中占8个字节
  ​ 也就是说双精度的double要比单精度的float更占内存
  ​ 4)在程序中的处理速度不同
  ​ 一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
  在程序中默认小数为double类型,所以如果要用float的话,必须进行强转public static void main(String[] args){ 	float a = 1.1;	 }
  比如我写了上面的代码的话,在程序中就会编译报错,正确的写法应该为如下的代码:public static void main(String[] args){     float a = (float)1.1;     float b = 1.1f; }
  手动强转或者在小数后面加f表示为float类型(f不区分大小写)
  在使用float时需要注意一点:float 是8位有效数字,比如说有如下代码:public static void main(String[] args){     float a = 1.11111111111f;     System.out.println(a); }
  最终的输出结果为:1.1111112
  这里有一个疑问,无论第九位是否大于5,在取值的时候都会向第八位进1。
  以上就是double和float的区别金额到底应该用哪种数据类型?
  ​ 在总结double和float的区别时,我发现在真实开发中针对金额的存储并非如我之前思考的一样使用double或者float,为啥?让我们看下面一段代码:public static void main(String[] args) {      double a=0.03;      double b=0.02;      double c=a-b;      System.out.println(c); }
  ​ 对于这段代码的执行结果,大部分人可能会想肯定是0.01啊!但是运行之后会惊奇的发现结果居然是0.009999999999999998,因为float与double都是浮点数,浮点数参与的运算通常伴随着因为无法精确表示而进行的近似与舍入,所以导致结果会有一些偏差,而涉及到金额的计算是绝对不允许存在偏差的。
  ​ 那么应该怎么表示金额呢?
  ​ 有两种解决方案:第一种是存储金额时以分或厘为单位存储一个整数,第二种是使用BigDecimal这种数据类型来表示金额。
  ​ 对于第一种是我目前在写项目时采用的,第二种暂时并未做尝试。总结
  面试官问的小小的一个问题竟然藏有这么多玄机和学问,不由得让我汗颜,归根结底还是自己的知识面不够广。不过这也算是面试中的一些小小收获吧,能发现自己的不足并及时补足。
  作者:喧哗
  链接:https://juejin.im/post/5eb115456fb9a043383d6bb5

小米MIX4可以入手了!12256GB版降价2380元,等等党又赢了说起小米MIX4这部手机,大家一定不会陌生,它在发布之际被米粉称为情怀机,而该机首发的屏下曲面屏也让大家眼前一亮。没想到距离发布才不到一年,小米MIX4就大幅降价,等等党又赢了。近振华重工副总中芯国际执董辞职,寒武纪核心技术人员涉及公司分歧作者孔祥凯本周共有14家上市公司董监高辞职,其中有9家因工作安排离职,3家因个人原因离职,这些企业涉及互联网,通信,轨道交通等行业领域。另外寒武纪核心技术人员梁军因与公司存在分歧离2021我老婆前男友身价上亿,他只透露做的是TikTok跨境电商,我想做,有大佬带路吗?这个问题很简单,不要光羡慕别人过亿身价。当别人告诉你怎么做的时候,证明这个行业就不怎么赚钱了。身价上亿也许和TikTok无关呢你想成为前男友吧进别人公司慢慢学,学个一两年。实际上跨红米Note12Pro才是王者,性能小金刚再创奇迹,性价比依然是重点每年年初,都是旗舰手机大乱斗的时间,骁龙8与天玑9000旗舰手机争相发布,但千元机却寥寥无几,很少有用户关注。不过随着旗舰手机市场的饱和,各类性价比千元机的消息也随之而来。不少用户2022年(3月最新)华为荣耀10006000元高性价手机挑选指南这里是太平洋知科技,如果本文对你有帮助,欢迎点赞关注我。往期精彩回顾2022年(3月最新)手机全攻略10005000各价位高性价手机推荐上期我们说到了10005000元全品牌的手机这3种配置的手机正在被淘汰,买手机时前需注意,谨防入坑智能手机的发展速度非常快,现在已经普及大众,很多老年人也学着怎么使用智能手机,而随着应用场景的不断增多,手机也新出了很多便利功能,方便人们在生活中快速使用。发展到现在,手机早已经不3000块安卓手机推荐华为nova9pro这款手机外观是蓝色和紫色渐变的风格,光线暗的时候呈蓝色,在光线下旋转呈现淡淡的紫色,妥妥的高颜值外观。重量也只有186克,厚度7。97mm,说它轻薄手感好也没问管控货品源头让直播带货的品控不失控针对直播电商如何选品,浙江发布直播电子商务选品和品控管理规范团体标准。3月21日,澎湃新闻从浙江省网商协会了解到,该标准对直播带货的选品品控方面作出新的要求和规范。(3月21日澎湃C语言程序设计作业题C语言程序设计作业与思考题解答说明习题中P1192。7表示CC上机实践及习题选解中第119页的2。7题,其它以此类推,书后有解答。非CC上机实践及习题选解中的习题提供习题参考答案。iPhone14ProMax曝光,2TB储存小副屏!或成为苹果14香大家都知道苹果iPhone的数字系列每年的新机发布都选择在9月份,而且新一代iPhone也是大家非常关注的机型,虽然iPhone外观一直都没有太大的变化,但是iPhone用有强大的摄影后期Portraiture5全新升级版已上线!一键实现爆款网红肌肤现在摄影后期行业都在推崇PT5还有DR5磨皮,这是一个被奉为高级磨皮面板,修图神器顶级修图的的扩展面板!终于,Portraiture5全新升级版已上线!这下更新不仅效果更加完美,同
100块钱装台电脑,能办公能玩小游戏,还要啥自行车啊。导读老程今天找到了一块存在我工作间里面很久很久的主板了,现在看着主板接口还挺多,能装一台电脑出来,于是乎老程想着装一台电脑出来玩玩。下面给大家看看主板。CPUcpu选择是速龙的X2淘宝京东等电商渠道为何钟情销售X79X99等的电脑,利润到底有多大导读现在淘宝京东拼多多可以说是大家最常用的三款网购的APP了,在这些APP里面搜索一下电脑主机,很随意的就出现了N多的I7级I9级电脑,老程就非常非常非常想知道他们到底怎么那么多的刚学DIY装机到底买什么样的配件好,小白要注意电脑硬件哪些事项导读昨天老程用自己的电脑做了一期测试,用四个软件测试电脑性能,最终结果就是装上瑞星之后我的处理器直接满载然后电脑卡死了,最终没办法直接进安全模式卸载了软件,如果你的电脑装错了什么软回收电脑你卖电脑没必要的踩坑,卖电脑要估价吗,不估价就坑导读今天老程去给一个公司做电脑维护,回来有点晚,主要是酒太好喝了,忍不住就多喝了几杯,然后喝多了自然也就话多了,那么肯定要聊我这个小伙伴之前电脑回收的事情了,怎么说呢电脑回收,这个作死大战三大安全软件大战E31230V2看看能否让老程电脑爆炸导读昨晚做了一个很吓人的梦,老程喝完酒回来在梦里写头条,等到写完了,梦醒了,但是我特么真的在写头条,我都不知道我写的是啥,今天翻了一下,发现也没啥大的纰漏,但是以后酒还是要少喝,喝英特尔10代CPU即将发售,网传真香,但是这些CPU真的很香吗?导读老程这几天看了好多个帖子和文章,都在说intel10代CPU即将开始卖了,现在淘宝上面也有全新散片出现了,并且还有一个利好的消息就是Intel似乎这次没有再挤牙膏了,直接I3都电脑蓝屏的原因以及电脑蓝屏维修方法,不要以为蓝屏,电脑就坏了导读今天晚上真心忙坏了,给自己找了一套机械键盘,结果半夜娃睡了,媳妇睡了,机械键盘不敢用了,我还是得拿出我这十五块钱一套的金刚甲办公键盘来大战头条文章了。很多小伙伴电脑蓝屏了之后就老程带你了解电脑城装机套路,到电脑城装机再也不怕被技师坑了导读昨天说到了电脑城坑小白的坑的死去活来的,但是现在疫情期间,网吧都关门了,那么我们想玩游戏又只能自己去配台电脑,但是网上的坑太多了,电脑城的坑更多,那么电脑城的套路到底有多少呢?2020年开春装机推荐,intel平台4500元稳定全高特效吃鸡刚刚的导读老程这几天不是在开车就是在怼人,都没有好好给大家推荐个配置,今天就给大家推荐一款配置,流畅吃鸡,畅玩游戏。怎么说呢主流游戏基本上都能流畅运行,至于大表哥之类的游戏,低特效也能玩吐槽一波电商销售的电脑,老程都惊呆了,小白都能被淘宝洗脑了导读老程今天真的被惊呆了,今天有个临沂的小伙伴找老程回收电脑,回收这个事情吗,大家都懂,如果你去电脑城回收的话,那价格刚刚的,9700K都能给你说的一文不值,老程没有那么坑,但是老600块组装一台吃鸡电脑,妈妈再也不用担心我偷偷去网吧吃鸡了导读疫情期间,我想很多小伙伴都憋坏了,没有了往日网吧五连坐,从来没赢过的豪气,只有在家里大呼小叫,五杀激动的时候,没有网吧的配音,晚上打游戏还不敢出声音,家里电脑太老,只能玩玩英雄