<script type="text/javascript">//<![CDATA[
/*
* Tunnus: Kalkulaattori; eurolaskin
* Tekijä: Osmo Saarikumpu
* Tehty: 2009-10-13
* Tekijänoikeudet: Vapaasti käytettävissä
*/
/* Ilmotetaan laskutoimituksen suorittava funktio,
jota kutsutaan lomakkeen painikkeella. */
functionmuunnaValuutta() {
/* Ilmotetaan muutama funktiossa käytetty muuttuja: */
//euron kurssi:
varkurssi = 5.94573;
//käyttäjän syöte:
varsyote;
//merkkimuunnoksen apumuuttuja:
varapuri = "";
//syöte liukulukuna:
varsumma;
//valuuttamuunnoksen tulos:
vartulos;
//lyhennetty viittaus tulosalueeseen:
varalue = document.getElementById('tulosalue');
/* Sijoitetaan käyttäjän syöttämä arvo muuttujaan: */
syote = document.laskin.syotealue.value;
/* Poistetaan syötteen mahdolliset tyhjämerkit,
esim. jos miljoona on muodossa 1 000 000: */
syote = syote.replace(/\s+/g,'');
/* Luodaan rutiini, joka tarvittaessa muuttaa
syötetyn arvon pilkun pisteeksi: */ //suoritetaan silmukka:
for(vari=0;i<syote.length;i+=1) {
//kunnes arvon kaikki merkit on käyty läpi:
varmerkki = syote.charAt(i);
if(merkki == ',') {//jos merkki on pilkku
merkki = '.';//muutetaan se pisteeksi
}
apuri += merkki;//kasataan merkit takaisin apumuuttujaan
}
/* Sijoitettan mahdollisesti muuttunut arvo
liukulukuna muuttujaan: */
summa = parseFloat(apuri);
/* Tarkastetaan onko arvo numero: */
if(isNaN(summa)) {//jollei ole numero:
//tulostetaan virhesanoma:
alert('Muuntotoiminto syö vain numeroita!');
//tyhjennetään tulosalue:
alue.innerHTML = '';
//lopetetaan funktio:
return;
}
/* Pyöristetyt laskutoimitukset suuntaan tai toiseen.
Arvo tulos-muuttujaan kahdella desimaalilla: */
else if(document.laskin.m2e.checked) {
//jos valintaruutu markoista euroihin:
tulos = (Math.round((summa/kurssi)*100)/100).toFixed(2);
//lisätään euron symboli:
tulos += " €";
}
else{
//muuten euroista markkoihin:
tulos = (Math.round((summa*kurssi)*100)/100).toFixed(2);
//lisätään markan tunnuskoodi:
tulos += " FIM";
}
/* Sijoitetaan tulos tulosalueelle: */
alue.innerHTML = tulos;
}
//]]></script>