Replace() avec le sigle €

Résolu
Bonjour,

Je souhaite remplacer le sigle € contenu dans une chaine avec la fonction replace() mais celui-ci n'est pas reconnu
Valeur de base dans prix_unit = 15,00 €
je souhaite conserver que le 15,00 et donc supprimer le €

var prix_unit_ok = prix_unit.replace("€", "");
alert (prix_unit_ok);

affiche 15,00€
SI je remplace le "€" par 15 dans la fonction replace le resultat est bien 00,00 € c'est donc bien le sigle qui pose soucis.

Merci de votre aide.

3 réponses

  1. Il a du vouloir mettre 2 versions encodés du sigle euros (Code ISO, Code HTML https://www.commentcamarche.net/contents/489-caracteres-speciaux-html ) mais le forum doit les transformer automatiquement.

    Soit le problème vient de la, soit il provient de l'encodage utilisé dans votre document. Si je fais :
    function myFunction()
    {
    var prix_unit = document.getElementById('our_price_display').innerHTML; 
    var prix_unit_ok = prix_unit.replace("€","");
    alert(prix_unit_ok);
    var resultat = document.getElementById("result").innerHTML = prix_unit_ok;
    }

    ..et que mon document utilise un charset en utf-8 et que celui-ci est encodé en utf-8 (sans BOM), le résultat est correcte.
    1. Le problème venait en effet de l'encodage du fichier
      Erreur pourtant connu...
      Merci pour m'avoir rouvert les yeux sur l'encodage des fichiers sous notepad++
  2. Salut,

    Chez moi ça ne pose aucun soucis :
    function myFunction()
    {
    var prix_unit = "15,00 €";
    var prix_unit_ok = prix_unit.replace("€","");
    alert(prix_unit_ok);
    }

    Le sigle € est bien supprimé.
    1. En affectant la variable ainsi cela marche aussi chez moi, cependant la variable prix_unit est affecté de cette manière:
      var prix_unit = document.getElementById('our_price_display').innerHTML;
      En affichant la valeur de cette variable avec un alert j'ai bien "15.00€" cependant cela ne fonctionne pas ainsi :(
      SI tu as une idée je suis preneur.... MErci
  3. Essaye de remplacer ton :
    replace("€","");

    par :
    replace("€","");

    Ou :
    replace("€","");
    1. Bonjour Nhay,

      Sauf erreur de ma part tes 3 propositions sont identiques... ? ;)
    2. En effet, comme indiqué par tryan, le forum à converti ce que je voulais dire.