Discussões
SuiteScript > JavaScript nativo > parseInt() Pode retornar um resultado diferente
Aplica-se a
Produto: NetSuite 2023.1
Cenário
Qualquer número com zeros á esquerda e tiver 8 e 9 será interpretado de maneira incorreta.
Executar:
var result = [];
for (var i = 0; i < 100; i++) {
result.push({a: i, b: parseInt('0' + i)})
}
Resulta em:
08 = null
09001 = NaN
028 = 2
Solução
parseInt() sem especificar um radix tratará o parâmetro inserido como um número octal. A solução seria passar no parâmetro radix na função.
Executar:
var result = [];
for (var i = 0; i < 100; i++) {
result.push({a: i, b: parseInt('0' + i,10)})
}
Resulta em:
08 = 8
09001 = 9001
028 = 2
Aviso legal
O código de amostra aqui descrito está fornecido ""como está"", sem garantia de qualquer tipo, para a extensão máxima permitida pela lei. Oracle + NetSuite Inc. não dá garantias ou se responsabiliza sobre o desempenho individual que desenvolvedores de sucesso podem ter na implementação do código de amostra em suas plataformas de desenvolvimento ou ao usá-lo com suas próprias configurações do servidor Web.
Olá, bem-vind@!
Para ver todos os detalhes, faça o login.
Não tem uma conta? Clique aqui para começar!