一次惊险的javascript经历,汗,现在想想都后怕

在开发一个缴费交易时,先发送查询请求到系统A,系统A返回一个字符串格式的欠费金额,因为是定长的,所以都是前补0,本来需要先做处理的,但是由于查询结果如果是欠费的,客户发起缴费交易时,会送给系统B的格式,与系统A返回的是一样的,因此就原样保存然后上送,可是在系统测试时,却发现了一个奇怪的现象,系统A返回的查询结果中,欠费金额是“00000100”,上送后,却变成“00000064”了,金额是以分为单位的,所以欠费1元的,变成上送缴费时是0.64元了,刚开始一直不得其解,后面才知道这是javascript的默认处理搞的鬼。

程序中将“00000100”作为参数传递给一个函数,在函数中打印出来这个参数的值,已经变成8的平方,64了,所以字符串在javascript中传递时,会默认被转换成整数处理,这就是导致问题的根本原因。这次问题得出的教训是,不要偷懒,必须对数据进行合理的转换后再行处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值