中手、高手们请旁观,如有雷同纯属必然.
在项目中 需要把500050(分)转换成5000.50(元)的形式 一切数据都送到了JavaScript 面前 使用了无所不能的eval(),由于设计问题,导致了小数位后的50变成了"050"被送到了eval()口中。
让人诡异的事出现了eval("050")=40;
通过www.google.com.hk搜索了中外文章后, 发现此时的eval("050")被浏览器运行成parseInt("050");
而parseInt("050")在有些浏览器下又被默认成parseInt("050",8)。没错 是8进制,据说在50前有0的情况下.
所以需要获得正确答案的俺们,最终选择了parseInt("050",10)。
PS:双引号变成单引号后似乎出不了结果,下面的,解答一下.
时间:2013-05-31 13:35
来源:LinuxEden
作者:凯啊
原文链接