Ir para conteúdo
Fórum Script Brasil
  • 0

O Que Há De Errado...


Guest - Tiago -

Pergunta

Tenho uma rotina que faz um calculo de multiplicacao entre dois valores. Só que se o resultado for redondo, o zero a direita não aparece. Por exemplo, se o resultado da multiplicação for 12,40 aparece apenas 12,4

Então fiz uma rotina para acrescentar o zero no final. A ideia da rotina é contar o tamanho da string e verificar a quantidade de caracter depois da virgula. Se o resultado for apenas um caracter é porque falta o zero, então a rotina acrescenta o zero no final.

Só que não está funcionado. Veja o codigo abaixo:

A variavel texto contem algum valor, digamos que seja: 12,4. O tamanho da string é 4 (ou tres, não sei se comeca a contar a partir do zero). Mas creio que isto neste caso não importa.

A ideia me parece correta...Só que não está funcionando, quando executo o codigo não acontece nada.

<script>

texto = "12.4"

var tamanho = texto.lenght;

if(texto,tamanho-1,1) == ","){

texto = texto + "0";

}

</script>

Eu executei este codigo isolado em uma pagina que não contem nada, apenas este codigo, e não dá certo. No rodapé da pagina o navegador informa que a página contem erros.

Onde está este erro??

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest Fernando Arruda

Tiago,

a sua condição está meio confusa mas a idéia é boa. Para localizar a "," no "texto" se ela estiver no penúltimo caractere da string, é preciso antes corrigir alguns erros:

1º: o nome da propriedade que classifica o tamanho de uma string é "length", e não "lenght".

2º: a vírgula na condição da instrução if não é assimilada pelo navegador, sendo assim impossível sua colocação para qualquer fim. Eu acho, q o que você queria mostrar era um pedido de qual é a letra na posição "tamanho-1". Se eu estiver certo, este deveria ser o código:

if(texto.charAt((tamanho)-1) == ",")
Porém, o valor numérico (tamanho)-1 não é suficiente para alcançar a vírgula. Isso se dá porque texto.length retorna o número 4 (número de algarismos da string) e na função charAt(), o 3º caractere (4-1) é o 4, não a vírgula, porque o 1º é o caractere de nº 0. Tudo isso se resolveria se ao invés de tirar "1" do tamanho, tirássemos "2". Portanto, o código pronto fica assim:
<script>
texto = "12,4"
var tamanho = (texto.length)-2;
if(texto.charAt(tamanho) == ","){
texto = texto + "0";
}
</script>

Eu acho muito importante que você não somente coloque este código no seu documento html, mas principalmente entenda o q foi dito aqui.

Qualquer dúvida, envie novamente ao fórum, ou se preferir, estou a sua disposição:

feramo1@hotmail.com

Link para o comentário
Compartilhar em outros sites

  • 0

Muito bem...o codigo acima funcionou ... porém em parte.

Depois que o codigo acima é executado, o valor é mostrado numa caixa de texto. Só que não está aparecendo o valor na caixa de texto. Então fiz alguns testes.

Acredito que não está aparecendo porque a variável é tipo numerica, pois antes de se chegar a este trecho de codigo, são feitos alguns calculos matemáticos para se chegar ao valor da variável.

Como teste, coloquei um conteudo para a variavel como string...aí funciona tudo direitinho. Mas se a variavel for do tipo numerica entào dá pau...

O que quero saber agora é como transformar uma variável do tipo numerica para string...

Link para o comentário
Compartilhar em outros sites

  • 0

É isto.. funcionou...era só converter para numerico...

Agora preciso saber para pegar um pedaço da string, que nem a funçao substr do php.. Aquela funçao que voce passou charAt é só para pegar um unico caracter né???

Preciso pegar um pedaço da string, tipo substr(texto, 4,2).... entendeu né???

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...