parseInt() 不考虑前导零,即使使用基数也是如此
parseInt() doesn't regard leading zeros, even with radix
当我想将二进制字符串转换为以 10 为基数的十进制时(像这样:parseInt('0001010', 2)
),Javascript 返回一个十进制数,但上面示例中提到的前导零已被忽略的版本。有什么办法可以解决这个问题吗?
假设你有数字"00000101101101":
var number = '00000101101101';
var length = number.length;
var decimal_number = parseInt(number, 2);
// going back
var new_number = decimal_number.toString(2);
var new_length = new_number.length;
var n_zeros = length - new_length;
var zeros = (n_zeros >= 2 ? Array(n_zeros+1).join("0") : "0");
new_number = zeros + new_number;
十进制表示无法跟踪前导零。如果您希望在结果中保留前导零,则需要一种根本不同的方法(例如,将输出保留为字符串)。
或者,如果您先验地知道结果的宽度,则可以在输出上用前导零填充它。
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 为什么不'将字符串转换为int不正确(parseInt)
- 在呈现网页时复制网页,而不考虑参考底图的来源
- 如何使用 javascript 获取 UTC 格式的日期,而不考虑当前系统日期
- 转换 JSON 日期,不考虑时区
- 使用XPath选择包含文本的节点,而不考虑CasperJS中的空白
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- 角度高图表和ng网格标题不考虑帧宽度
- jQuery/JavaScript代码如何将表导出为CSV文件而不考虑表's大小.看看@jsfiddle链接
- 捕获给定类型的所有事件,而不考虑气泡/目标
- 选项卡分组和选项卡着色:如何将此功能应用于从我的网页打开的选项卡,而不考虑浏览器
- CSS不透明度转换;在动画过程中不考虑覆盖不透明度
- 为什么使用Number.parseInt而不是parseInt()
- 如何增加光滑块高度,而不考虑其内容
- 正则表达式不考虑 .在JavaScript中进行模式测试时
- $browser.notifyWhenNoOutoutstanding Requests不考虑控制器功能
- getAttribute('href') 始终返回“#”,而不考虑移动浏览器上的实际 href 属性
- parseInt() 不考虑前导零,即使使用基数也是如此