PDA

Volledige versie bekijken : [FMX2004] getal omrekenen naar valuta


_GdR_
%Europe/Berlin %549 %2005, 14:11
Hadjee ik heb een probleempje. en dat is als volgt:

Ik ben bezig met een webshop. ik heb een product dat € 1,50 kost.
ik geef dit door als 150
Nu wil ik dat de comma/punt na de 1 komt. dat het dus 1.50 wordt.

ik kan met bijvoorbeeld een prijs dan 500 delen door 100 en dan laat ie netjes 5 zien.
maar zou dus liever 5.00 hebben.
en met een prijd van dus 150 zou dat 1,5 zijn.
en das niet netjes. dus wie heeft de oplossing?

alvast bedankt! :)

Dauntless
%Europe/Berlin %618 %2005, 15:51
Mogelijke manier:

function convertPrice(price:Number, separator:String):String
{
tempPrice = String(price);
var tempArray:Array = new Array();
var newPrice:String = new String();
tempArray[0] = tempPrice.slice(0, 1);
tempArray[1] = tempPrice.slice(1, tempPrice.length);
newPrice = tempArray.join(separator);
return newPrice;
}
trace(convertPrice(500, ","));
trace(convertPrice(150, "."));

arshad
%Europe/Berlin %638 %2005, 16:19
Deze zal niet werken bij getallen hoger dan 999,99;
vandaar heb ik ff aangepast:
function convertPrice(price:Number, separator:String):String
{
var tempPrice:String = String(price);
var tempArray:Array = new Array();
var newPrice:String = new String();

tempArray[0] = tempPrice.slice(0, tempPrice.length-2);
tempArray[1] = tempPrice.slice((tempPrice.length-2), tempPrice.length);

newPrice = tempArray.join(separator);
return newPrice;
}
trace(convertPrice(500, ","));
trace(convertPrice(150, "."));
trace(convertPrice(2000, ","));
trace(convertPrice(15, "."));

_GdR_
%Europe/Berlin %642 %2005, 16:24
hey thanx! ^O^

Hiermee zal het moeten lukken.
Maar ik dacht dat er ook zo'n "math" functie voor was :?

Maar goed ga deze code wel eventjes inbouwen in de applicatie.

_GdR_
%Europe/Berlin %646 %2005, 16:30
werkt perfect gasten!
hartstikke bedankt :)

Flasher
%Europe/Berlin %647 %2005, 16:31
tempArray[0] = tempPrice.slice(0, tempPrice.length-2);
tempArray[1] = tempPrice.slice((tempPrice.length-2), tempPrice.length);

kan je vervangen door:

tempArray[0] = tempPrice.slice(0, -2);
tempArray[1] = tempPrice.slice(-2);

if(tempArray[0]=="") {
tempArray[0] = "0";
}

dat laatste stukje code zorgt ervoor dat ook bedragen kleiner dan €1 goed weergegeven worden

Dauntless
%Europe/Berlin %655 %2005, 16:44
Dit vind ik echt leuk! :) Als iemand post elkaar's post verbeteren en versterken! :) Geeft je zo'n community gevoel :p

Flasher
%Europe/Berlin %656 %2005, 16:45
Dit vind ik echt leuk! :) Als iemand post elkaar's post verbeteren en versterken! :) Geeft je zo'n community gevoel :p
Daar doe je het voor ;)

Roenes
%Europe/Berlin %682 %2005, 17:23
Hou er wel rekening mee dat als je later weer verder wilt rekenen met dit getal, dat je het eerst weer moet converteren naar een Number. Aangezien het nu een String is. :)

Flash moet gewoon trailing nullen ondersteunen! Hele probleem opgelost ;)