Paĝo 2 el 20.................................................................................................................. .................. Alklaku!indekso.. enhavo

Trafa respondo estas:

Ne. Entieraj kaj glitpunktaj tipoj uzas tute malsamajn bitaranĝojn por reprezenti valorojn.

Konverti Ĉenon al Tipo Double

La bitaranĝo por reprezenti entjerojn estas tute malsimila ol tiu reprezentanta glitpunktajn valorojn. Eĉ se 221 kaj 221.0 oni povas konsideri samvaloraj, la bitaranĝoj reprezentantaj ĉiun el ili estas tute malsimilaj.

Enigo de glitpunkta nombro, uzante la klasan bibliotekon java.io, similas al enigo de entjero. Ambaŭkaze vi unue legas enen signojn. Poste la signoj, kondiĉe ke ili havu ĝustan formaton, konvertiĝas al nombra tipo.

Jen programo kiu konvertas ĉenon da signoj al primitiva tipo double. En tiu programo, la konvertendaj signoj troviĝas en literalo String (ĉeno). (Pli antaŭe ni enigos signojn per klavaro). Tiu programo ne ruliĝos kun Java-versioj pli malnovaj ol 1.2 ĉar ili ne havas la metodon parseDouble()(t.e. konverto al Double).

// Tiu chi programo postulas Java 1.2 au pli novajn
//
import java.io.*;
class ChenoAlDuobla
{
  public static void main (String[] args)
  {
    final String signaDatumo = "3.14159265";
    double valoro;

    valoro  = Double.parseDouble( signaDatumo  ) ;
    System.out.println("valoro: " + valoro +" valoro x 2: " + 2*valoro );
  }
}

La rezervita vorto final (t.e. fina) signifas, ke oni ne permesas ŝanĝi la valoron ene de la variablo signaDatumo. La rulinta programo aperigas jenon sur la ekrano:

C:\JavaProgramoj>java ChenoAlDoubla

valoro: 3.14159265 valoro x 2: 6.2831853

Sendube utilus al vi kopii ĉi tiun programon en dosieron, tradukigi kaj ruli ĝin. La detaloj, pri tio kiel la programo funkcias, troviĝas en la sekva paĝo.

Glosoj: reservita vorto: angla vorto kiun la programisto ne rajtas uzi libere (ekz-e, kiel nomo de variablo) sed nun laŭ ĝia difino en la programlingvo

DEMANDO 2:

Ĉu la programo funkcius se oni ŝanĝus la deklaron de signaDatumo tiel:

final String signaDatumo = 3.14159265;