技术改变世界!学习改变自己!

每天进步一点点,遥不可及的事情,在你一点一滴的努力下,也会变成现实。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

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

posted on 2010-03-31 22:25  阿捷  阅读(206)  评论(0编辑  收藏  举报