Newsgroup: it.comp.lang.javascript
Titolo: Cerco funzione per formattare prezzo in euro

Ciao a tutti.
Cerco una funzione javascript in grado
di traformare un valore numerico in euro
Con Math.round(Prezzo*100)/100 riesco ad ottenere i decimali separati da un
punto, ma vorrei una formattazione + carina, del tipo "7.151,65"
In sostanza, una funzione che mi converta da "7151.65" a "7.151,65".
Qualcuno puo' postare il codice o darmi un suggerimento?
Grazie 1000
Marco

<html>
<head>
<title>Euro Calculatore</title>
</head>
<body>
<script Language="javascript">
<!--begin valute1 default="Ecu"-->
var Corona_Danese =0
var Corona_Norvegese =0
var Corona_Svedese =0
var Dollaro_Australiano =0
var Dollaro_Canadese =0
var Dollaro_Usa =1.1682
var Dracma_Greca =0
var Ecu =1936.27
var Escudo_Portoghese =0
var Fiorino_Olandese =0
var Franco_Belga =40.3399
var Franco_Francese =6.55957
var Franco_Svizzero =1.60778
var Lira_Irlandese =2459.68
var Lira_Sterlina =0.705455
var Marco_Finlandese =0
var Marco_Tedesco =1.95583
var Peseta_Spagnola =166.386
var Scellino_Austriaco =0
var Yen_Giapponese =132.800
<!--end valute1-->
var val00 =Ecu
var val10 =Marco_Tedesco
var val20 =Peseta_Spagnola
var val30 =Franco_Francese
var val40 =Lira_Sterlina
var val50 =Ecu
var val60 =Yen_Giapponese
var val70 =Dollaro_Usa
var val80 =Franco_Svizzero
var val90 =Franco_Belga
var dec1 =2
var dec2 =2
var dec3 =2
var dec4 =2
var dec5 =2
var dec6 =2
var dec7 =2
var dec8 =2
var dec9 =2
var val01 =(1/val01)
var val11 =(1/val10)
var val21 =(1/val20)
var val31 =(1/val30)
var val41 =(1/val41)
var val51 =(1/val50)
var val61 =(1/val60)
var val71 =(1/val70)
var val81 =(1/val80)
var val91 =(1/val90)
function kommaclean(string){
        i=string.indexOf(",");
        while(i != -1)
        {
                string = string.substring(0,i) + '.' + string.substring(i+1,
string.length);
                i=string.indexOf(",");
        }
        i=string.lastIndexOf(".");
        j=string.indexOf(".")
        while(j != i)
        {
                string = string.substring(0,j) + string.substring(j+1,
string.length);
                i=string.lastIndexOf(".");
                j=string.indexOf(".");
        }
        return string;
}
function convert(f){
        invalstring = f.input.value
        invalstring = kommaclean(invalstring)
        inval = parseFloat(invalstring);
        if (f.direction.value=='fromeuro'){
                decuit = this["dec"+f.currency.selectedIndex]+1;
                if(decuit==1) decuit--;
                decin  = 3;
        }else{
                decuit = 3;
                decin  = this["dec"+f.currency.selectedIndex]+1;
                if (decin==1) decin--;
        }
        inval = parseFloat(formatfloat(inval, decin))
        if (!(inval>0)){
                uitval = 0;
                inval  = 0;
        }else{
                if (f.direction.value=='fromeuro'){
                        dir = 0;
                }else{
                        dir=1;
                }
                uitval = inval * this["val"+f.currency.selectedIndex+dir] +
0.005;
        }
        f.result.value=formatfloat(uitval,decuit);
        f.input.value=formatfloat(inval, decin);
}
function formatfloat(fl, dec){
        str=""+fl;
        i = str.indexOf(".");
        if (i<0){
                i=str.length;
                str=str+".00000000000";
        }else{
                if(i==0){
                        i=1;
                        str="0"+str;
                }else{
                        str=str+"00000000000";
                }
        }
        return str.substring(0,i+dec);
}
file://-->
</script>
<table border="0" cellpadding="0" cellspacing="0" width="500">
  <tr>
<td align="center" colspan="2">
      <h3><font color="#FF8000" face="Verdana, Arial, Geneva,
Helvetica"><strong>Cambiavalute</strong></font></h3>
    </td>
    <td align="center">&nbsp;</td>
</tr>
  <tr>
    <td colspan="3">
      <p><b>Conversione Euro in altra valuta:</b></p>
      <form action="../Index.htm" method="post"
onSubmit="convert(this);return false;">
      <input type="hidden" name="direction" value="fromeuro"><p><input
type="text" name="input" value size="10">
          <font color="#66FFFF">Euro sono</font>
          <input type="text" name="result" value size="10"> <select
name="currency" size="1">
        <option value="ECU">Ecu</option>
        <option value="DEM">Marco tedesco</option>
        <option value="ESP">Peseta spagnola</option>
        <option value="FRF">Franco francese</option>
        <option value="GBP">Sterlina inglese</option>
        <option selected value="ITL">Lire italiane</option>
        <option value="JPY">Yen giapponesi</option>
        <option value="USD">Dollari americani</option>
        <option value="NLG">Franchi Svizzeri</option>
        <option value="BEF">Franco Belga</option>
      </select> <input type="submit" Value="Calcola"> </p>
    </form>
    <p><b>Conversione altra valuta in Euro:</b></p>
    <form action="../Index.htm" method="post" onSubmit="convert(this);return
false;">
      <input type="hidden" name="direction" value="toeuro"><p><input
type="text" name="input" value size="10"> <select name="currency" size="1">
        <option value="ECU">Ecu</option>
        <option value="DEM">Marco tedesco</option>
        <option value="ESP">Peseta Spagnola</option>
        <option value="FRF">Franco francese </option>
        <option value="GBP">Sterlina Inglese</option>
        <option selected value="ITL">Lire Italiane</option>
        <option value="JPY">Yen Giapponese</option>
        <option value="USD">Dollaro americano</option>
        <option value="NLG">Franchi svizzeri</option>
        <option value="BEF">Franco Belga</option>
      </select>
          <font color="#33FFFF"> <font color="#66FFFF">sono</font></font>
          <input type="text" name="result" value size="10">
          <font color="#66FFFF"> Euro</font>
          <input type="submit" Value="Calcola">
        </p>
    </form>
    </td>
  </tr>
<tr>
    <td align="center" colspan="3" height="2">&nbsp; </td>
</tr>
</table>
</body>
</html>
Ciao
Max

vai alla mia home page e dammi risposta nel form presente
http://skyscraper.fortunecity.com/jolt/747/prova1.htm
è presente un convertitore da euro a lire
e viceversa in codice javascript 

Veramente non è quello che cercavo....
Dato il prezzo in Lire, con una divisione e il comando
"Math.round(Prezzo*100)/100" riesco ad ottenere il valore convertito in euro
con i decimali separati da un punto.
Vorrei una formattazione che tenga conto anche delle migliaia, del tipo
"Euro: 7.151,65"
.....In sostanza, una funzione che mi converta il numero ottenuto "7151.65"
in "7.151,65",
"7151011.65 in 7.151.011,65".


 "7151011.65 in 7.151.011,65".
converti il valore in stringa. fai un controllo sulla sua lunghezza, poi un
parse per trovare '.' .lo sostituisci con ',' e poi ti sposti verso sinistra
di tre caratteri alla volta inserendo "." fin quando è possibile.
--
N'Drillo

 Di tutti i suggerimenti giunti questo č quello migliore!
Grazie del complimento.
--
N'Drillo