从JSON构建大数字

时间:2013-05-10 12:42:28

标签: javascript integer concatenation

目前我收到了带对象的JSON。每个对象有4个字符串,包含3个数字。我需要从这些数字构造一个大数字。例如,如果数字是“111”,“222”,“333”和“444”,则数字应为1112222333444.由于我需要=== 1112222333444为真,我不能进行直接字符串连接,因为结果不会是整数。将此JSON转换为仅包含连接整数的数字的最快选择是什么?如果它们是零,我也想忽略前5-6位数。

2 个答案:

答案 0 :(得分:3)

您可以将它们连接起来,然后将它们转换为数字

Number("111" + "222" + "333" + "444") === 111222333444  // true

或更短

+("111" + "222" + "333" + "444") === 111222333444  // true

如果某些组为零,这甚至有效,因为Number或“+”只是将String解释为数字并且不进行任何解析(与parseInt相反,如果没有基数,它将解析“010”为8)给定,因为它将前导零的数字解释为八进制。还有其他一些差异)

答案 1 :(得分:1)

var str = str1 + str2 + str3 + str4;
var result = Number(str);

这样就可以将字符串解析为数字类型。它还会丢弃前导零。