Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Scripting lato client
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 06-12-11, 15:19   #1 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
Formattazione numeri decimali e centesimi

Salve a tutti...vorrei riasolvere un grattacapo e vengo subito al dunque:

come potrei riformattare la stampa del totale con qualcosa del tipo 1.300,00 in quanto che per ora mi da 1300.00 quandi inserire il PUNTO?

Posto la parte di codice che uso......


$('#invia').click(function() {
var valore=$('#codice').val();
var valore2=$('#codicet').val();
var valore3=$('#quantita').val();
var valore4=$('#prezzo').val();
var valore5=$('#sconto').val();
var a=Math.round(100*Math.random())+300;
totale=parseFloat(totale)+(parseFloat(valore4)*par seInt(valore3));
$('#miatabella').append("<tr id=\"aaa"+a+"\"><td class=\"textDisplay1\"><input type=\"hidden\" name=\"riga"+a+"\" value=\""+valore+"|"+valore2+"|"+valore3+"|"+valor e4+"|"+valore5+"\">"+valore+"</td><td class=\"textDisplay1\">"+valore2+"</td><td class=\"textDisplay1\"><font size=6>"+valore3+"</font></td><td class=\"textDisplay1\">"+valore5+"</td><td class=\"textDisplay1\"><font size=6>"+valore4+"</font></td><td class=\"textDisplay1\"><a href=\"javascript:void(0);\" onclick=\"javascript:remove('aaa"+a+"','"+valore3+ "','"+valore4+"','"+totale+"')\">Cancella</a></td></tr>");
$('#ytotale').val(totale);

perinps=totale*parseFloat(percinps)/100;
$('#yinps').val(perinps.roundTo(2));

imponibile=perinps+totale;
$('#yimponibile').val(imponibile.roundTo(2));

iva2=imponibile*perciva/100;
$('#yiva').val(iva2.roundTo(2));

totalefatt=iva2+imponibile;
$('#yfattura').val(totalefatt.roundTo(2));

ritenuta2=imponibile*percritenuta/100;
$('#yritenuta').val(-ritenuta2.roundTo(2));

netto2= totalefatt-ritenuta2;
$('#ynetto').val(netto2.roundTo(2));

});


grazie anticipatamente a tutti ciaooo!!
peterminnow non in linea   Rispondi citando
Vecchio 06-12-11, 17:24   #2 (permalink)
Non iscritto
 
Data di registrazione: Oct 2011
Ubicazione: Pianeta Terra
Messaggi: 508
Invia un messaggio tramite Skype a Web Designer
Ad es. usa la variabile.toFix(2) per aggiungere le 2 cifre decimali alla variabile, oppure vediamo altro dopo

Ultima modifica di Web Designer : 06-12-11 18:03.
Web Designer non in linea   Rispondi citando
Vecchio 06-12-11, 17:34   #3 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
potresti farmi un esempio concreto...non sono cosi bravo!
peterminnow non in linea   Rispondi citando
Vecchio 06-12-11, 17:41   #4 (permalink)
Non iscritto
 
Data di registrazione: Oct 2011
Ubicazione: Pianeta Terra
Messaggi: 508
Invia un messaggio tramite Skype a Web Designer
Ciao, postami la funzione ad es.function roundTo(decimalpositions).
Web Designer non in linea   Rispondi citando
Vecchio 06-12-11, 17:44   #5 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
//arrotonda a decimalpositions cifre decimali
function roundTo(decimalpositions)
{
var i = this * Math.pow(10,decimalpositions);
i = Math.round(i);
return i / Math.pow(10,decimalpositions);
}
Number.prototype.roundTo = roundTo;
peterminnow non in linea   Rispondi citando
Vecchio 06-12-11, 18:01   #6 (permalink)
Non iscritto
 
Data di registrazione: Oct 2011
Ubicazione: Pianeta Terra
Messaggi: 508
Invia un messaggio tramite Skype a Web Designer
Per avere una più "ampia" visione.

Implementazione:

function roundTo(decimalpositions)
{
var i = this * Math.pow(10,decimalpositions);
i = Math.round(i);
return i / Math.pow(10,decimalpositions);
}
Number.prototype.roundTo = roundTo;

Ora puoi richiedere a qualunque numero l'arrotondamento ad un dato numero di cifre decimali:


var x = 3.14159;
alert( x.roundTo(2) ); // 3.14
alert( x.roundTo(4) ); // 3.1416

Se invece vuoi utilizzare la funzionalità in modalità "stand-alone", devi apportare delle piccole modifiche allo script suddetto e segnatamente:


function roundTo(value, decimalpositions)
{
var i = value * Math.pow(10,decimalpositions);
i = Math.round(i);
return i / Math.pow(10,decimalpositions);
}

che richiamerai così:


var x = 4.24159;
alert( roundTo(x, 2) ); // 4.24
alert( roundTo(x, 4) ); // 4.2416
Web Designer non in linea   Rispondi citando
Vecchio 06-12-11, 18:30   #7 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
scusa ma io in realtà non devo arrotondare il numero...ma inserire solo il punto ai decimali!

Tipo che quando vado a fare la somma dei campi es. 100 ero + 1000 euro mi deve dare 1.100 e non 1100
peterminnow non in linea   Rispondi citando
Vecchio 06-12-11, 18:36   #8 (permalink)
Non iscritto
 
Data di registrazione: Oct 2011
Ubicazione: Pianeta Terra
Messaggi: 508
Invia un messaggio tramite Skype a Web Designer
Hai ragione, ma il codice che ti ho postato come esempio fa entrambe due le cose.
Web Designer non in linea   Rispondi citando
Vecchio 06-12-11, 18:45   #9 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
chettepossino..ma fammi un esempio...non sono capace!!!


sto facendo delle prove con questo numberFormat154.js

function roundTo()
{
var obj = document.getElementById('prezzo');
var num = new NumberFormat();
num.setInputDecimal(',');
num.setNumber(obj.value); // obj.value is '12305'
num.setPlaces('2', false);
num.setCurrencyValue('');
num.setCurrency(true);
num.setCurrencyPosition(num.LEFT_OUTSIDE);
num.setNegativeFormat(num.PARENTHESIS);
num.setNegativeRed(true);
num.setSeparators(true, '.', ',');
obj.value = num.toFormatted();

}

..ma non riesco ad applicarlo a dovere!!!

Ultima modifica di peterminnow : 06-12-11 19:45.
peterminnow non in linea   Rispondi citando
Vecchio 06-12-11, 21:04   #10 (permalink)
Non iscritto
 
Data di registrazione: Oct 2011
Ubicazione: Pianeta Terra
Messaggi: 508
Invia un messaggio tramite Skype a Web Designer
Ancora un esempio:

var num = new NumberFormat (20801.275) toFormatted ().;
/ / Numero sarà uguale a 20,801.28
Web Designer non in linea   Rispondi citando
Vecchio 07-12-11, 10:04   #11 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
Quote:
Web Designer Visualizza il messaggio
Ancora un esempio:

var num = new NumberFormat (20801.275) toFormatted ().;
/ / Numero sarà uguale a 20,801.28

ok..ora ci lavoro!
peterminnow non in linea   Rispondi citando
Vecchio 07-12-11, 11:00   #12 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
nulla...non so come inserirla..mi da errore
peterminnow non in linea   Rispondi citando
Vecchio 07-12-11, 15:50   #13 (permalink)
Non iscritto
 
Data di registrazione: Oct 2011
Ubicazione: Pianeta Terra
Messaggi: 508
Invia un messaggio tramite Skype a Web Designer
Per fare prima, usa questo form e poi fammi sapere: www(.)mredkj.com/javascript/numberFormatPage2.html
Web Designer non in linea   Rispondi citando
Vecchio 07-12-11, 16:45   #14 (permalink)
User
 
Data di registrazione: Jan 2007
Messaggi: 106
infatti ho provato propio quello ma non so come integrarlo...
questo è quello che fa perme:

var num = new NumberFormat();
num.setInputDecimal(',');
num.setNumber(obj.value); // obj.value is '1200'
num.setPlaces('2', false);
num.setCurrencyValue('$');
num.setCurrency(false);
num.setCurrencyPosition(num.RIGHT_OUTSIDE);
num.setNegativeFormat(num.LEFT_DASH);
num.setNegativeRed(false);
num.setSeparators(true, '.', ',');
obj.value = num.toFormatted();
peterminnow non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 20:25.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.