[javascript] - Pika v vejico
 
gentleman 11. jun 2012 07:54:03 Pridružen od:
21. sep 2009
331 objav
381 63 5
#1

Pozdravljeni mojstri!



Prosil bi vas za eno pomoč pri Javascriptu. Namreč, na eni frontend zadevi imam najrenoe, da računa popust in končni znesek. Torej, uporabnik vpiše ceno, koliko popusta in se vse preračuna. Vse lepo in prav, imam samo problem z decimalkami. Nikakor in nikakor se ne morem znebiti PIKE, da bi jo dobil v VEJICO. Torej, recimo: 15.15€ bi rad računal v 15,15€ ... Iščem kot nor že en dan po netu in še nobene delujoče rešitve.



Primer recimo računanja:


$('#offer_value').keyup(function(event) {
var popust = $('#offer_discount').val();
popust = popust/100;
popust = $(this).val() * popust;
popust = popust.toFixed(2)
var final_price = $(this).val() - popust;
final_price = final_price.toFixed(2)
$('#offer_price').val(final_price);
$('#offer_save').val(popust);
})
všeč(1) ni všeč(1) spam(0)
 
ledi 11. jun 2012 07:58:31 Pridružen od:
14. avg 2008
681 objav
325 223 14
#2

http://lmgtfy.com/?q=javascript+string+replace


všeč(1) ni všeč(0) spam(0)
 
gentleman 11. jun 2012 08:10:18 Pridružen od:
21. sep 2009
331 objav
381 63 5
#3

Hja, Ledi to vem. Samo nastane problem ker mi potem zapiše z vejico v polje, pa mi računanje več ne dela prav. Dobivam NaN ven.


všeč(0) ni všeč(0) spam(0)
 
5ka 11. jun 2012 08:23:41 Pridružen od:
12. dec 2007
516 objav
1049 135 10
#4

Sicer nisem javascrip strokovnjak, vendar bi morda poizkusil tako, da pred izračunom vejico spremeniš v pšiko s "str_replace", po izračunu pa iz pike narediš vejico.... zadeva bo delovala v obeh primerh, torej, če bo uporabnbik vpisal 15.15 ali 15,15.... edino, težava v tem primeru bo,če bo nedko vpisal 1.000,00.... tukaj pa bi bilo potrebno vgraditi malo bolj sofisticirano logiko...


všeč(0) ni všeč(0) spam(0)
 
ledi 11. jun 2012 08:43:09 Pridružen od:
14. avg 2008
681 objav
325 223 14
#5

v tem primeru je najbolje da poleg vnosnega polja das primer vpisa.

recimo "10.13", tako jim pokazes naj uporabijo . za decimalno locilo.



ce ne mores spremeniti vrednosti v stevilko pa javis napako. Zakaj bi se trudil z odpravljanjem takih banalnih napak. Vlozeno delo ne opravicuje podpore lenobe tvojih uporabnikov :)


všeč(0) ni všeč(3) spam(0)
 
gentleman 11. jun 2012 08:51:25 Pridružen od:
21. sep 2009
331 objav
381 63 5
#6

Sem ze predlagal pa sem dobil vroc lonec po glavi. So me napizdili da v ameriki imajo piko v slo pa vejico. In da hocejo vejico :-)


všeč(0) ni všeč(0) spam(0)
 
Spartacus 11. jun 2012 08:59:45 Pridružen od:
23. dec 2007
642 objav
828 38 4
#7

Pred računom zamenjaj vejico s piko (še pred tem pa zamenjaj pike s praznimi vrednostmi, če imaš scenarij, ki ga je omenil 5ka, npr.: 1.000,00), po izračunu pa narediš obratno.


všeč(0) ni všeč(0) spam(0)
 
meskec 11. jun 2012 09:00:30 Pridružen od:
2. jan 2008
294 objav
65 70 5
#8

Ledi to je delo programerjev, da se trudijo in rešujejo probleme(napake.)=).



zaay123 išči pod javascript number format ali pa:

http://phpjs.org/functions/number_format:481


všeč(0) ni všeč(0) spam(0)
[https://acab-slovenija.it/](http://)
 
domen555 11. jun 2012 09:19:49 Pridružen od:
6. feb 2010
114 objav
75 16 3
#9

Zakaj preprosto ne uporabiš metode: tostring, replace, parseFloat. Se tako sikiraš zaradi performance-a.


všeč(0) ni všeč(0) spam(0)
 
5ka 11. jun 2012 10:06:33 Pridružen od:
12. dec 2007
516 objav
1049 135 10
#10

Nisem rpeveril, samo bi moralo delovati:



<script type="text/javascript">



function fnumber(niz) {

if (niz.indexOf(",") > -1) { niz = niz.replace(/,/, "."); }

return parseFloat(niz);

}



var sum = fnumber('15,15') + 13.13;



document.write(sum);



</script>


všeč(2) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se