Replace() avec le sigle €

Résolu/Fermé
druidou59 Messages postés 85 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 mai 2015 - 24 nov. 2012 à 16:05
druidou59 Messages postés 85 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 mai 2015 - 25 nov. 2012 à 19:24
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

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
25 nov. 2012 à 14:11
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.
2
druidou59 Messages postés 85 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 mai 2015
25 nov. 2012 à 19:24
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++
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
24 nov. 2012 à 17:35
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é.
0
druidou59 Messages postés 85 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 mai 2015
25 nov. 2012 à 12:32
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
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 25/11/2012 à 13:10
Essaye de remplacer ton :
replace("€","");

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

Ou :
replace("€","");
0
druidou59 Messages postés 85 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 15 mai 2015
25 nov. 2012 à 13:42
Bonjour Nhay,

Sauf erreur de ma part tes 3 propositions sont identiques... ? ;)
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
25 nov. 2012 à 15:19
En effet, comme indiqué par tryan, le forum à converti ce que je voulais dire.
0