字符串数字比较大小
字符串数字比较大小
开发中两次遇到这种问题,第二次遇到的时候还是在疑惑,想了一会立马想起来在开发小程序退款交易的时候遇到过此问题,遂记录下来。
问题:两个input框中的 “数字”比较大小,会出现“2”>"11"的情况,就是判断有时能够达到预期有时不能达到预期。
分析:起初一直在自查代码逻辑的问题,检查了很久发现并没有任何问题,后来猛然发现,比较的不是数字而是字符串,这种就属于字符串和字符串之间的大小比较,这种比较就为Ascll码比较。
解决:将字符串数字转化为数字来比较
转换:
-
js变量弱类型转换 -0,*1,
-
转换函数 用parseint() 分析字符串并返回整数。parseFloat()将值转换为浮点数 (针对字符串数字)
总结:
-
数字和数字比较 没什么好说的
-
数字和字符串数字比较 (将字符串转化为纯数字来比较)
-
字符串数字之间比较 (就如我们遇到的问题)这种比较为ASCII码比较,依次取每个字符
-
字符串比较(也是ASCII码比较)
本文作者:张尊娟
本文链接:https://www.cnblogs.com/wszzj/p/17090194.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步