Tulos

Tällä lomakkeella voidaan laskea ajoneuvon polttoaineen keskikulutus sadalla kilometrillä. Tarvittaessa voit muuntaa mailit kilometreiksi.

Syötä ajetut kilometrit: (esim. 535.5)
Syötä polttoaineen kulutus litroina: (esim. 36.5)
Ajoneuvon keskikulutus oli: litraa

Koodi

Tallenna koodi RTF-muodossa (7k).

<!-- Tämä tulee HEAD-osastoon: -->
<script type="text/javascript">
//<![CDATA[
/*
 * Tunnus:          Kalkulaattori; bensalaskin
 * Tekijä:          Osmo Saarikumpu
 * Tehty:           2005-05-17
 * Tekijänoikeudet: Vapaasti käytettävissä
 */

// Luodaan laskutoimituksen suorittava funktio,
// jota kutsutaan lomakkeen painikkeella.

function Laske_keskikulutus(form) {
// Sijoitetaan käyttäjän syöttämät arvot muuttujiin:
 var $ajetut_kilometrit = document.forms["Bensalaskin"].Kilometrit.value;
 var $kulutetut_litrat = document.forms["Bensalaskin"].Litrat.value;

// Luodaan rutiinit, jotka tarvittaessa muuttavat
// käyttäjän syöttämän arvojen pilkun pisteeksi: 

  var apumuuttuja="";// alustetaan apumuuttuja
//suoritetaan silmukka:
  for(var i=0;i<$ajetut_kilometrit.length;i+=1) {
//kunnes arvon kaikki merkit on käyty läpi:
   var Merkki = $ajetut_kilometrit.charAt(i);
   if (Merkki == ',') {//jos merkki on pilkku             
     Merkki = '.';//muutetaan se pisteeksi
     }	
 	apumuuttuja += Merkki;//kasataan merkit takaisin apumuuttujaan
  }
//sijoitettan mahdollisesti muuttunut arvo ao. muuttujaan:
 $ajetut_kilometrit = apumuuttuja;

// Sama rutiini toiselle syötteelle: 

  var apumuuttuja2="";
  for(i=0;i<$kulutetut_litrat.length;i+=1) {
   Merkki2 = $kulutetut_litrat.charAt(i);
    if (Merkki2 == ',') {
     Merkki2 = '.';
     }	
 	apumuuttuja2 += Merkki2;
  }
 $kulutetut_litrat = apumuuttuja2;

// Luodaan tuloksen pyöristysfunktio:

function Pyorista(luku,desimaalit) {
// Pyöristää luvun haluttuun desimaalimäärään, oletus on 2:
 desimaalit = (!desimaalit?2:desimaalit);
 return Math.round(luku*Math.pow(10,desimaalit))/Math.pow(10,desimaalit);
}

// Suoritetaan tarvittava laskutoimitus:
// (ajetut kilometrit jaetaan sadalla,
// jolla sitten jaetaan kulutus)

 var $Tulos = $kulutetut_litrat / ($ajetut_kilometrit / 100);

// Tarkastetaan vielä, että saadaan tulokseksi lukuarvo:
  if (isNaN($Tulos)) {//huomautetaan tarvittaessa virheestä
	window.alert('Syötä lukuja!');
	}
  else {//muuten pyoristetään tulos ja sijoitetaan se ao. tekstilaatikkoon:
	document.forms["Bensalaskin"].Tulos.value=Pyorista($Tulos);
  }
}
//]]>
</script>

 <!-- Tämä tulee BODY-osastoon: -->

<form action="javascript:void(0);" id="Bensalaskin" name="Bensalaskin">
<table border="1" cellspacing="2" cellpadding="2">
<tr>
<td>Syötä ajetut kilometrit:</td>
<td>
<input type="text" size="6" value="" name="Kilometrit" />
</td>
<td>(esim. <kbd>535.5</kbd>)</td>
</tr>
<tr>
<td>Syötä polttoaineen kulutus litroina:</td>
<td>
<input type="text" size="6" value="" name="Litrat" />
</td>
<td>(esim. <kbd>36.5</kbd>)</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" value="Laske keskikulutus" onclick="Laske_keskikulutus(this.form)" />
</td>
</tr>
<tr>
<td>Ajoneuvon keskikulutus oli:</td>
<td>
<input type="text" value="" size="4" name="Tulos" />
</td>
<td>litraa</td>
</tr>
<tr>
<td align="right" colspan="3">
<input type="reset" value="Tyhjennä kentät" />
</td>
</tr>
</table>
</form>

Tämä sivu kuuluu vaikeimpiin JavaScript-esimerkkeihin.

Weppipakin kotisivulle