Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    convertire stringa a numero intero

    salve devo convertire una stringa derivata da un campo input in un numero intero ho provato con:
    codice:
    var number=parseInt($("input[name=filed]").val());
    
    // o ancora così;
    var number=parseInt($("input[name=filed]").val());
    number=new Integer(number).intValue();
    ma in nessuno dei modi me li converte a stringa anzi nel secondo caso non parto proprio lo script evidentemente è errato.

  2. #2
    Io solitamente se ho una stringa in javascript per farlo diventare un numero lo moltiplico molto semplicemente *1

    codice:
    var numero = stringa*1;
    Simone Fontana
    -------------------
    PegasoHosting
    SeoRanking

  3. #3
    si bravo che scemo non cho pensato prima.
    ma la mia curiosità e perche con il parseInt() non funge.

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    parseInt dovrebbe funzionare: se hai dubbi crea una demo su jsbin o jsfiddle replicando il problema

    comunque puoi anche scrivere

    codice:
    var numero = +stringa
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Quoto, il parseInt funziona. Probabile che il problema sta nel tuo selettore jquery.

    Aggiungo.. i mtodi indicati convertono automaticamente il valore stringa in numero (non in numero intero).:
    codice:
    var numero = stringa*1;
    var numero = +stringa;
    Teoricamente puoi utilizzare anche la funzione Number().

    Giusto per fare gazzosa, ecco un esempio al volo che mostra le differenze di una somma tra stringhe, numeri o interi (posto le due varianti javascrtipt e jquery):
    codice:
    <!DOCTYPE HTML>
    <html>
    <head>
      <script type="text/javascript">
        function calcola() {
          var campo1 = document.getElementById("campo1").value;
          var campo2 = document.getElementById("campo2").value;
          var risStr = document.getElementById("risultatoStringa");
          var risNum = document.getElementById("risultatoNumero");
          var risInt = document.getElementById("risultatoIntero");
          risStr.value = campo1+campo2; // concateno le semplici stringhe
          risNum.value = Number(campo1)+Number(campo2); // sommo i valori convertiti in numeri (comprese le parti decimali)
          risInt.value = parseInt(campo1)+parseInt(campo2); // sommo i valori convertiti in numeri intero
        }
      </script>
    </head>
    <body>
      <form  method="get" action="#" onsubmit="calcola(); return false">
        <input type="input" id="campo1" value="Inserisci qualcosa qui"/> Campo1 +
    
        <input type="input" id="campo2" value="qualcos'altro qui"/> Campo2 =<hr>
        <input type="input" id="risultatoStringa" value=""/> Operazione con Stringhe : <code>campo1+campo2</code>
         
        <input type="input" id="risultatoNumero" value=""/> Operazione con Numeri : <code>Number(campo1)+Number(campo2)</code>
        
        <input type="input" id="risultatoIntero" value=""/> Operazione con Interi : <code>parseInt(campo1)+parseInt(campo2)</code>
        
        
    <input type="submit" name="Submit" value="CALCOLA" />
      </form>
    </body>
    </html>
    codice:
    <!DOCTYPE HTML>
    <html>
    <head>
      <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
      <script type="text/javascript">
        $(document).ready(function() {
          $("form").submit(function(){
            var campo1 = $("#campo1").val();
            var campo2 = $("#campo2").val();
            var risStr = $("#risultatoStringa");
            var risNum = $("#risultatoNumero");
            var risInt = $("#risultatoIntero");
            risStr.val(campo1+campo2); // concateno le semplici stringhe
            risNum.val(Number(campo1)+Number(campo2)); // sommo i valori convertiti in numeri (comprese le parti decimali)
            risInt.val(parseInt(campo1)+parseInt(campo2)); // sommo i valori convertiti in numeri intero
            return false;
          });
        });
      </script>
    </head>
    <body>
      <form  method="get" action="#">
        <input type="input" id="campo1" value="Inserisci qualcosa qui"/> Campo1 +
    
        <input type="input" id="campo2" value="qualcos'altro qui"/> Campo2 =<hr>
        <input type="input" id="risultatoStringa" value=""/> Operazione con Stringhe : <code>campo1+campo2</code>
         
        <input type="input" id="risultatoNumero" value=""/> Operazione con Numeri : <code>Number(campo1)+Number(campo2)</code>
        
        <input type="input" id="risultatoIntero" value=""/> Operazione con Interi : <code>parseInt(campo1)+parseInt(campo2)</code>
        
        
    <input type="submit" name="Submit" value="CALCOLA" />
      </form>
    </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.