首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    别再回答面试官,toFixed采用的是四舍五入啦!

    你知道JS里的toFixed实现用的是哪种吗? Musa 2023 前两天我写了篇《0.1 + 0.2 不等于 0.3?...详细算法如下: 保留位数的后一位如果小于5,则舍去。 保留位数的后一位如果大于5,则进上去。 保留位数的后一位如果是55后面仍有数,则无论奇偶都要进入。...举个例子:(以保留两位小数为例) 5.214 ≈ 5.21(4小于5) 5.216 ≈ 为5.22(6大于5) 5.2254 ≈ 5.23(5后面有数,进入) 5.215 ≈ 5.22(5后面没数,前一位...既然如此,我们用前端最擅长的JS试试效果(对应的函数是toFixed): 额……翻车了么? 5.215不是说好了约等于5.22么,怎么在JS这里变5.21了?发生了什么? 不用惊慌!...5.215底层竟然是5.214999……,那么此时按照奇进偶舍的规则,第三位4小于5直接舍弃,就成了5.21。 有意思吧?我之前讲的知识没白学吧哈哈(捏把汗,还好没误人子弟)。

    36420

    MongoDB(3): 查询

    注意:条件数据必须是常量值,不能是另外的字段的数据 1:比较操作   $lt:小于   $lte:小于等于   $gt:大于   $gte:大于等于   $ne:不等于  如:a、age小于20   ...> db.test1.find({"age":{$lt:20}});     b、age小于20,大于10   > db.test1.find({"age":{$lt:20,$gt:10}}); 2:$...{ "_id" : ObjectId("5925a29652b61a20c53dfd48"), "score" : [ 7 ] } > 说明:上面语句并不是我们想要的,“大于5小于4”,应该是不存在的...八、存储过程 1:MongoDB的存储过程其实就是个自定义的js函数 > var addf = function(a,b){ ... return a+b; ... } > 2:使用db.system.js.save...({“_id”:名称,value:函数})存储函数; > db.system.js.save({"_id":"myF","value":addf}); 3:可以通过如下命令查看:db.system.js.find

    1.8K20

    深入理解GBDT回归算法

    例如:以年龄7为划分节点,将小于7的样本划分为左节点,大于等于7的样本划分为右节点。左节点包括 ? ,右节点包括样本 ? ,则 ? 、 ? 、 ? ,所有可能的划分情况如下表所示: ?...中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.2250。 在 ? 中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.2025。 在 ?...中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.1823。 在 ? 中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.1640。 在 ?...中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.1476。 最终预测结果为: ? 3....5. GBDT的正则化 为了防止过拟合,GBDT主要有五种正则化的方式。

    1.5K30

    深入理解GBDT回归算法

    例如:以年龄7为划分节点,将小于7的样本划分为左节点,大于等于7的样本划分为右节点。左节点包括 ? ,右节点包括样本 ? ,则 ? 、 ? 、 ? ,所有可能的划分情况如下表所示: ?...中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.2250。 在 ? 中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.2025。 在 ?...中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.1823。 在 ? 中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.1640。 在 ?...中,测试样本的年龄为25,大于划分节点21岁,又小于30岁,所以被预测为0.1476。 最终预测结果为: ? 3....5. GBDT的正则化 为了防止过拟合,GBDT主要有五种正则化的方式。

    2.5K20

    使用jest进行单元测试

    html显示 执行 npm i jest-html-reporter安装这个模块包(这里提及一下,在npm版本大于5.x以后,可以默认不加--save这种参数),然后在jest.config.js中配置如下...3, 4], [5, 6]]).toContainEqual([1, 2]) }) 数值比较 楼下expect后面跟的英语的字面量意思就是其方法的作用,分别是,大于大于等于、小于小于等于、相似于(接近于...(2.5) expect(3).toBeLessThan(4) expect(3).toBeLessThanOrEqual(3.5) expect(0.1 + 0.2).toBeCloseTo...(0.3) // <0.05 passed }) toMatch(expected) 顾名思义,字符串匹配,它支持字符串和正则,/^(\w+)\1+$/匹配的是一个字符串可以由其字串通过n次组合而成的字串...> { expect(caculator.multiply(1).exec()).toBe(0) expect(caculator.init(1).multiply(2, 3, 4, 5)

    3.5K60

    JS魔法堂:再识Number type

    Brief                                   本来只打算理解JS0.1 + 0.2 == 0.30000000000000004的原因,但发现自己对计算机的数字表示和运算十分陌生...,0.1 + 0.2 == 0.30000000000000004就不言而喻了,但单纯的理解了现象的本质是不够,我们需要的是如何解决这类问题,不然下次遇到同类问题我们只能同样的无力而已:(   但在寻求或自己手写工具库前...,我觉得还是先了解JS为我们提供的原生API比较明智。...Function Properties ES5 APIs Number.MIN_VALUE,可表示的最接近0的值。...注意:1.fractionDigits必须大于等于0和小于等于20,否则会抛RangeError;            2.若数值大于e21则直接返回Number.prototype.toString

    2.1K50

    Nodejs学习笔记(十四)— Mongoose介绍和入门

    User.find({userage: {$gte: 21, $lte: 65}}, callback);    //这表示查询年龄大于等21而且小于等于65岁   其实类似的还有:   $or    ...或关系   $nor    或关系取反   $gt    大于   $gte    大于等于   $lt     小于   $lte     小于等于   $ne            不等于   $in...            在多个值范围内   $nin           不在多个值范围内   $all            匹配数组中多个值   $regex  正则,用于模糊查询   $size...,正则方式就是javascript正则,用到的比较多!.../user.js"); function getByPager(){ var pageSize = 5; //一页多少条 var currentPage

    2.6K60

    机器学习入门 8-9 lasso

    Step2:LASSO Regression超参数α设置为0.1。 ? 实验的过程和上一小节实验Ridge Regression一致,将α的取值逐渐增大。此时将α取值设置为0.1。...接下来使用封装的plot_model函数绘制α取值为0.1的LASSO Regression的拟合曲线。 plot_model(lasso2_reg) ?...此时计算出来的均方误差值为1.84,虽然比没有使用正则化的多项式回归要好,但是比α取值为0.01以及α取值为0.1的均方误差结果要差一点,很明显当α取值为1的时候正则化过渡。...回忆一下在上一个小节实验Ridge Regression的时候,随着α取值逐渐增大,相应的拟合曲线虽然变的越来越平滑,但是它始终呈现的是曲线的形态,但是对于LASSO Regression来说,当α取0.1...对于sign函数来说,当θ值大于0的时候取1,当θ值等于0的时候取0,当θ值小于0的时候取-1,这其实非常好理解,因为x的绝对值函数在x大于0的时候为y = x,在x小于0的时候y = -x,我们相当于分情况讨论

    1.2K20

    js正则表达式校验金额-js正则表达式简单校验方法

    下面就js正则表达式的校验带来内容分享,同时要考虑在js中支持的类型。   ...^[u4e00-u9fa5]{0,}$   (3)由数字、26个英文字母或下划线组成的字符串   ^w+$2.js支持与不支持类型   js支持   大多数元字符 字符组 段落起始和终结,以及伪逻辑行...js 正则表达式校验?   <   js验证密码的正则表达式。   完整的js正则表达式:   //强:字母+数字+特殊字符^(?![a-zA-z]+$)(?!\d+$)(?![!...@#$%^&*]+$ //中:字母+数字js正则表达式校验金额js正则表达式校验金额,字母+特殊字符,数字+特殊字符   ^(?![a-zA-z]+$)(?!\d+$)(?![!...js正则表达式验证数字大于15小于200   正则表达式如下:/^1[6-9]$|^[2-9]\d$|^1\d{2}$/。

    9K20

    govaluate 规则引擎

    比如: 规则1 :p1 > 2 && p2 > 10 000 & p3 in (‘beijng’,’shanghai’) 大于2年的老用户,并且购买金额大于10000的北京或上海用户。...规则2:p1<1 小于1年的用户 为了解决这个问题,引入规则引擎, 从 if... else ...中解放出来。。 ?...相比 gorule、goengine,govaluate除了支持in操作、还支持正则表达式,而且表达式也不需要转换成DRL。...‘code1’ in (‘cod1′,’code2’) 5、支持正则 测试3个逻辑表达式条件,如下:每次执行op需要15us gengie(B站开源) https://github.com/rencalo770...https://github.com/dop251/goja star:1.8k go实现执行js脚本(类似于java 执行groovy ) 这里不关注表达式,只是通过这引擎可以执行js脚本代码。

    2.7K30
    领券