当前位置: 首页 > news >正文

教学网站建设洪梅东莞网站建设

教学网站建设,洪梅东莞网站建设,建设母婴网站的目的,驻马店做网站推广#x1f4e2;欢迎点赞 #xff1a;#x1f44d; 收藏 ⭐留言 #x1f4dd; 如有错误敬请指正#xff0c;赐人玫瑰#xff0c;手留余香#xff01;#x1f4e2;本文作者#xff1a;由webmote 原创#x1f4e2;作者格言#xff1a;新的征程#xff0c;我们面对的不是… 欢迎点赞 收藏 ⭐留言 如有错误敬请指正赐人玫瑰手留余香本文作者由webmote 原创作者格言新的征程我们面对的不是技术而是人心人心不可测海水不可量唯有技术才是深沉黑夜中的一座闪烁的灯塔 1.简单的比较预期的结果 一天我在飞快的写代码当然这个飞快我打上了引号 因为手速奇快吗并没有。 我遇到一个非常普通的场景对于码农多年的我老说应该是小菜一碟了。 然而这次不一样我被比较浮点数绊倒了。 简单描述下场景 大概的业务逻辑是这样的 在一个判断告警的逻辑里需要判断某个值在小于0.9时就进行告警动作。 代码如下 bool IsAlarm(float a) {return a0.9; }//不相干的业务逻辑,简化下。。。 if(IsAlarm(a)){Console.WriteLine(嘀嘀嘀报警了!); }写完了代码就转给测试了然后反馈说不该报警的时候报警了。 这是什么鬼啊 Review了N遍代码也找不到原因是啥。 2.写单元测试 由于业务场景复杂又不方便调试因此实在打不开思路的我开始折腾起单元测试。 [Fact] public void TestAlarmSuccess() {var a 0.9F;var ret IsAlarm(a);Assert.False(ret); }元凶终于浮出了水面竟然时浮点比较出了问题。经过反复确认和排查的的确确是 0.9F 0.9顺便说一嘴这里用的是C# 0.9F 是单精度浮点数而 0.9 默认应该是 双精度浮点数。 看到这里聪明的你是不是恍然大悟了 如果你还是不明白 那么跟着我再来探究探究其中的奥秘。 3. 原因说明 由于无知我甚至跑到了github上提了一个issue哦哦大神给了我这样的解释。 这是预期的结果 更多的信息可以参考: IEEE Standard for Floating-Point Arithmetic 看下面的例子 float data 0.9F; var firstComparisonValue 0.9; var secondComparisonValue 0.9F; Console.WriteLine(data firstComparisonValue); // return trueConsole.WriteLine(data secondComparisonValue); // return falseConsole.WriteLine(data secondComparisonValue); // return trueConsole.WriteLine($Data Value: {data.ToString(F99)}); Console.WriteLine($First Comparison Value: {firstComparisonValue.ToString(F99)}); Console.WriteLine($Second Comparison Value: {secondComparisonValue.ToString(F99)}); 输出结果: True False True Data Value: 0,899999976158142089843750000000000000000000000000000000000000000000000000000000000000000000000000000 First Comparison Value: 0,900000000000000022204460492503130808472633361816406250000000000000000000000000000000000000000000000 Second Comparison Value: 0,899999976158142089843750000000000000000000000000000000000000000000000000000000000000000000000000000 正如你看到的那样double 类型的值是大于float类型的值的. 总结 比较数字的时候 先强制转换成统一类型的数字然后比较才会得到你预期的结果。 否则你就需要了解更多的IEEE规范知识要不然一不小心就掉到了坑里。 都看到这了还在乎点个赞吗 都点赞了还在乎一个收藏吗 都收藏了还在乎一个评论吗
http://wiki.neutronadmin.com/news/445360/

相关文章:

  • 消费返利系统网站建设网站设计实例
  • 做特卖的网站雅美盛典泰州市统计局网站建设方案
  • dede新手做网站多久成都专门做网络推广的公司
  • 广安做网站公司如何做网络推广网站
  • seo兼职论坛安阳专业seo地址
  • 网站开发 营业执照重庆平台网站建设找哪家
  • 进入网站后台管理系统网站怎么上线
  • 漳州市网站建设费用网站空间申请
  • 山西网站制作工具网站建设培训网站
  • c#做交易网站东莞招聘网站有哪些
  • 受欢迎的宜昌网站建设湖南企业网络推广服务
  • 长沙学做网站建设wordpress页面展示插件
  • 网站排名seo网站开发从整体上
  • 58同城的网站建设wordpress移动端编辑器
  • 台州做网站哪家公司好网站开发工程师应聘书范文700字
  • p2p网站建设的步骤过程帮别人设计网站的网站
  • 电子商务网站的建站流程天津门户网站建设
  • 一个网站两个页面H5 网站
  • 网站开发为什么要写接口wordpress面包学
  • 网站跳转代码 html企业咨询管理师
  • 湖北营销型网站建设价格百业网免费发布信息
  • 怎么接做网站私单ps做网站主页图片
  • 设计师个人网站建设网站排名不可有利就前
  • 汽车最全的网站国外设计网站都有哪些
  • 求一个做门窗技术的网站腾讯云服务器如何建设网站
  • 在哪些网站能接到活做网站推广阶段
  • 易企秀 旗下 网站建设企业融资的10种方法
  • 携程网网站推广方式万峰科技.jsp网站开发四酷全书 m
  • 自己建设网站容易吗联合创始人网站怎么做
  • 旅游小网站怎样做精不做全云搜索网页版入口