Hey, op school hebben wij laatst iets over Java gehad, en dat hoofdstuk is nu voorbij, maar ik wou nog ff voor mezelf testen of ik een eurocalculator kan maken, maar dat lukt niet, ik kan wel voor elkaar krijgen dat hij omrekent, maar dan rekent hij niks achter de comma mee en van dat soort dingetjes. Kan iemand mij ff een heel simpel scriptje sturen, want ik kan niet rusten voordat ik het snap. Alvast bedankt!
Verwijderd
Waarschijnlijk reken je met int's, dat zijn gehele getallen, je kan beter float's gebruiken, die kunnen wel met decimalen overweg.
Hiervoor hoef je niet zoveel te veranderen, alleen ipv
int uitkomst;
dim je dan als
float uitkomst;
that's it!
Hiervoor hoef je niet zoveel te veranderen, alleen ipv
int uitkomst;
dim je dan als
float uitkomst;
that's it!
Hey, ik heb nu floats erop gedaan en Integer.parseInt vervangen door Float.parseFloat wat dus goed werkt, maar ik heb ontdekt dat hij maar 8 tekens lang mag zijn. Weet iemand een ander ideetje?
Verwijderd
Heb je meer tekens nodig danOp zaterdag 19 januari 2002 12:28 schreef BasjeBanaantje het volgende:
Hey, ik heb nu floats erop gedaan en Integer.parseInt vervangen door Float.parseFloat wat dus goed werkt, maar ik heb ontdekt dat hij maar 8 tekens lang mag zijn. Weet iemand een ander ideetje?
int, float en double zijn trouwens 'data types' voor het geval je er iets over op wilt zoeken
Verwijderd
Veel beter is het gebruik van java.math.BigDecimal voor dit soort berekeningen, krijg je tenminste volledig antwoord die je op het laatst moement (bij return ofzo) gaat afronden. iig, zeker als je nog verdere berwerkingen mee wilt doen.Op zaterdag 19 januari 2002 12:11 schreef KoenM het volgende:
Waarschijnlijk reken je met int's, dat zijn gehele getallen, je kan beter float's gebruiken, die kunnen wel met decimalen overweg.
Hiervoor hoef je niet zoveel te veranderen, alleen ipv
int uitkomst;
dim je dan als
float uitkomst;
that's it!
Verwijderd
Maar dan wordt het wel meteen een stuk ingewikkelder. En 8 decimalen lijkt me ook wel genoeg, want de wisselkoers is immers ook maar in zo'n 5 decimalen bekend (2.20371Op zaterdag 19 januari 2002 12:32 schreef _Jah het volgende:
Veel beter is het gebruik van java.math.BigDecimal voor dit soort berekeningen, krijg je tenminste volledig antwoord die je op het laatst moement (bij return ofzo) gaat afronden. iig, zeker als je nog verdere berwerkingen mee wilt doen.
Eigenlijk zou je niet meer dan 5 of 6 decimalen _mogen_ terug geven (heb ik volgens mij ooit eens bij natuurkunde geleerd
Als je het echt goed wilt doen gebruik je de BigDecimal van IBM. In tegenstelling tot de standaard implementatie in Java gebruikt deze decimale berekening, waardoor je niet de vervelende 0.9999999 effecten krijgt.
Zie:
http://alphaworks.ibm.com/tech/bigdecimal
Zie:
http://alphaworks.ibm.com/tech/bigdecimal
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Verwijderd
ik zou de NumberFormat class gebruiken.
en als Data Type double.
op deze manier:
// het bestaat uit 2 klassen: Main en Converteer!
import java.text.*;
class Main{
public static void main(String[] args){
Converteer converteer1 = new Converteer();
converteer1.convertGuldens(10);
}
}
//2e Klasse
class Converteer{
public void convertGuldens(double g){
double euro = g/koersEuro;
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(5);
System.out.println(formatter.format(g) + " gulden is " + formatter.format(euro) + " euro");
}
public double koersEuro = 2.20371;
public double guldens;
}
// einde
en als Data Type double.
op deze manier:
// het bestaat uit 2 klassen: Main en Converteer!
import java.text.*;
class Main{
public static void main(String[] args){
Converteer converteer1 = new Converteer();
converteer1.convertGuldens(10);
}
}
//2e Klasse
class Converteer{
public void convertGuldens(double g){
double euro = g/koersEuro;
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(5);
System.out.println(formatter.format(g) + " gulden is " + formatter.format(euro) + " euro");
}
public double koersEuro = 2.20371;
public double guldens;
}
// einde
Pagina: 1