Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Sostituire punto con la virgola

    Ho questo semplice script

    <div id="message">
    <script>
    <!--

    var a = 4.916787037037;

    function roller()
    {
    document.getElementById("message").innerHTML = a;
    a = a + 1.1574074074074E-005;
    }
    //-->
    </script>
    <noscript>
    4.916787037037
    </noscript></div>


    Il numero che viene stampato nel div message è un numero decimale 4.916787037037. Come posso sostituire il punto con la virgola? In php è semplice farlo, ma non sono in grado di farlo col javascript.

  2. #2
    a = a.replace("\.", ",");

  3. #3
    @artorius: perchè hai messo l' escaping al punto? se usi una stringa, viene trattata da tale e non da regular expression, quindi non occorre fare l'escaping, vabbè son puntiglioso

    la soluzione:
    codice:
    document.getElementById("message").innerHTML = a.replace(".",",");

  4. #4
    forza dell'abitudine, dopotutto replace prende in ingresso regual expression, quindi sarebbe più corretto:

    a.replace(/"\."/, ',');

  5. #5
    Originariamente inviato da artorius
    forza dell'abitudine, dopotutto replace prende in ingresso regual expression, quindi sarebbe più corretto:

    a.replace(/"\."/, ',');
    no, replace prende in input pure stringhe
    comunque questa scritta non funzionerebbe poichè nella regex hai messo gli apici, che in realtà non ci stanno

  6. #6
    Grazie per l'aiuto.
    Però ho ancora un problema: ho modificato lo script, ma non funziona. Mi dice che a.replace non è una funzione - a.replace is not a function
    Non penso sia un problema del mio browser: uso Mozilla/5.0

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    a sto punto visto che vogliam essere puntigliosi

    a.replace(/\./g , ",") .

    Io non sono un drago con le reg exp, ma sta cosa mi sosititusce tte le occirrenze invece che solamente la prima.

    Poi i caratteri speciali delle regexp li inserico con l'escape e mi faccio tte le conversioni che voglio.

    Magari sapete anche dirmi qlke tecnica migliore ma facedno cosi' vado via liscio.

    EDIT: asd avevo sbagliato le barrette me ne sono accorto solo dopo aver postato . cmq ora sono nel verso giusto.

    Inoltre attento che a da come l'hai fatta non e' una stringa.
    fai ((String)a).replace(...)

    Vabbe' che js non e' tipizzato pero cmq un po' di tipizzazione .... eh
    nel caso non fossi convinto fai un alert( typeOf(a) ) e vedi di che tipo e' la var anche se crado che cmq ti risponda con Object ..... mah vedi te cmq per sicurezza fagli un typecasting come indicato sopra.

  8. #8
    Originariamente inviato da Virus_101
    a sto punto visto che vogliam essere puntigliosi

    a.replace(/\./g , ",") .

    Io non sono un drago con le reg exp, ma sta cosa mi sosititusce tte le occirrenze invece che solamente la prima.

    Poi i caratteri speciali delle regexp li inserico con l'escape e mi faccio tte le conversioni che voglio.

    Magari sapete anche dirmi qlke tecnica migliore ma facedno cosi' vado via liscio.

    EDIT: asd avevo sbagliato le barrette me ne sono accorto solo dopo aver postato . cmq ora sono nel verso giusto.

    Inoltre attento che a da come l'hai fatta non e' una stringa.
    fai ((String)a).replace(...)

    Vabbe' che js non e' tipizzato pero cmq un po' di tipizzazione .... eh
    nel caso non fossi convinto fai un alert( typeOf(a) ) e vedi di che tipo e' la var anche se crado che cmq ti risponda con Object ..... mah vedi te cmq per sicurezza fagli un typecasting come indicato sopra.
    Ahimè, ho provato ma anche così non mi funziona

    Errore: missing ) in parenthetical
    File sorgente: http://localhost/prova/
    Riga: 156, Colonna: 58
    Codice sorgente:
    document.getElementById("message").innerHTML = ((String)a).replace(".",",");

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    e' un semplice errore di sintassi.
    attento che amgari nn venga generato qlke riga prima oppure prova cosi'

    try{
    a = (String)a;
    a.replace(/\./g , "," );
    }catch(e){alert("attenzione non funziona la replace :"+(e.message ? e.message : e) )}

  10. #10
    Originariamente inviato da !!\Freedom9/!!
    Grazie per l'aiuto.
    Però ho ancora un problema: ho modificato lo script, ma non funziona. Mi dice che a.replace non è una funzione - a.replace is not a function
    Non penso sia un problema del mio browser: uso Mozilla/5.0
    no, è che a non è una stringa, non me n' ero accorto,
    basta fare cosi:


    document.getElementById("message").innerHTML = (''+a).replace(".",",");

    @virus: attento che in javascript il cast non si fa così, ma così:

    a = String(a)


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.