场景:自动化测试发现新增房间接口报错,前几天还是好的。查log发现,有负数的房间号出现,明显有问题。
排查代码:Java后台里是用int类型接受房间号参数,int类型带符号数值范围-2147483648 到2147483648,不带符号数字范围0 到2147483648*2,测试发来的房间号是28....,对比发现明显大于带符号int类型最大值,故报错。
当然,这个接口前期设计的不太合理,现在已经遗弃了。换了新接口,接受字符串。
对于连续的房间号需要js代码里循环好传给后台,js数字最大长度是15位数字,页面限制房间号长度为10,这样就不会出现数值越界的问题了。
所有 JavaScript 数字均为 64 位
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确