double afronden 1 decimaal.

Status
Niet open voor verdere reacties.

badrangedb0y

Gebruiker
Lid geworden
6 mei 2009
Berichten
18
Hallo,

Ik moest voor school een (simpele) applet maken. Het moet van km/u naar m/s kunnen omrekenen. het is me wel gelukt maar ik wil nog iets kleins toevoegen.

Het antwoord moet afgerond worden op 1 decimaal.
Kan iemand me eventjes een tip geven. thx

Code:
  // Begin eventmethoden

  public void button1_ActionPerformed(ActionEvent evt) {
  double km;
  km = Integer.parseInt(textField1.getText());
  double uitkomst;

  uitkomst = km;
  
  uitkomst = uitkomst / 3.6;
  
  textField2.setText(String.valueOf(uitkomst));


  }
// Einde eventmethoden
 
Laatst bewerkt:
Probeer altijd je code tussen de tags te zetten als je iets post.
de methode die jij zoekt is Math.Round(value, 2).

je hebt in visual basic gepost maar dit is volgens mij C#.
ik heb je code ook wat geoptimaliseerd ;)
ik weet niet precies wat String.valueOf doet maar ik heb het opgezocht en het is voor het omzetten van integers/doubles naar strings
hiervoor kan je ook Convert class gebruiken of de methode van toString() van classe String.
btw misschien heb je een cast nodig bij ((double(km/3.6)));
maar dat weet ik niet zeker dus moet je ff zelf testen.
en ik weet niet hoe je komt aan getText and setText maar .Text is gwn een property die je kan gebruiken.

Code:
// Begin eventmethoden
public void button1_ActionPerformed(ActionEvent evt) {
double km;
km = Integer.parseInt(textField1.Text);
double uitkomst = (km/3.6);
//double uitkomst = ((double(km/3.6)));

uitkomst = Math.Round(uitkomst, 2);

textField2.Text = Convert.toString(uitkomst);
}
// Einde eventmethoden

Hoop dat je hiermee uit de voeten kunt.
Byess VRC

btw die parse die moet je ook veranderen naar tryparse en de boolean checken en dan de waarde return en de rest van de code stoppe(+melding geven) als bool false is
 
Laatst bewerkt door een moderator:
bedankt voor de reacties, ( ik gebruik Javaeditor om mijn script te maken)

als ik dat stukje gebruik krijg ik een foutmelding
misplaced construct (s)

En als ik alleen die:

uitkomst = Math.Round(uitkomst, 2);

gebruik in m'n script krijg ik ook een error:
No accessible method with signature "Round(double, int)" was found in type "java.lang.Math".


owja ps: Remember, ik ben een beginner. met beginner bedoel ik dat ik vorige week ben begonnen.... Dus ik snap niet alles so keep it simple please
 
Laatst bewerkt:
oke ik snap dat je beginner bent duz zal ik het simpel houden maar je moet toch echt DUIDELIJK je topic beginnen want je post iets in visual basic en ik zoek en help je in c# omdat de code niet overeenkomt en dan werkt het niet omdat het blijkt dat je Java gebruikt. dat had je wel ff mogen vermelden dat je java gebruikte :P.
maar goed, ff snel opgezocht enne dit gevonden

Code:
double roundTwoDecimals(double d) 
{
        	DecimalFormat twoDForm = new DecimalFormat("#.##");
		return Double.valueOf(twoDForm.format(d));
}
 
Bedankt voor de reactie.

Die code die daar staat wil ik gebruiken, maar ik weet niet hoe ik hem zo verander zodat ie in mijn script past. ik weet niet wat ik moet aanpassen. Ik zeg het nog eens, ik ben echt een beginner.

Code:
double roundTwoDecimals(double d) 
{
        	DecimalFormat twoDForm = new DecimalFormat("#.##");
		return Double.valueOf(twoDForm.format(d));
}.
welke dingen moet ik dan aanpassen zodat hij weet dat hij de "uitkomst" moet afronden.

ik heb dit geprobeerd, ik weet het is helemaal niet goed maar dan snap je misschien wat ik bedoel.
Code:
  {
          DecimalFormat uitkomst = new DecimalFormat("#.##");
    return Double.valueOf(uitkomst.format(uitkomst));
}
Ps. Waar zoek jij die codes op? Ik tik wel wat in bij google maar ik vind nooit wat. Ik weet ook niet goed wat ik moet intypen bij de zoekmachines.
 
Laatst bewerkt:
hey als je ff wach dan geef ik je zometeen wat code
ik heb net netbeans opgestart.
was vergeten dat ik dat had :P

ff w8en
 
aiight gefixed

Code:
  public void button1_ActionPerformed(ActionEvent evt) 
  {
  double uitkomst = Integer.parseInt(textField1.getText());
  uitkomst = uitkomst / 3.6;
   
  DecimalFormat df = new DecimalFormat("##.##");
  System.out.println();
  
  textField2.setText(String.valueOf(uitkomst));
  textField2.setText(uitkomst);
  df.format(uitkomst)
  }

bij de laatste textfield2.setText moet je ff kijke welke werkt want ik weet nie precies wat die valueOf doet ;)
maar dit zou moeten werken
 
hej, bedankt dat je zoveel moeite wilt doen op deze late avond haha.
Ik heb de code geprobeerd maar deze error krijg ik: Type "DecimalFormat" was not found.

Ik moet nu slapen dus ik zal morgen pas de reactie hierop kunnen lezen, toch alvast bedankt :D
 
sorry voor de late reactie.
kwas gistere niet op helpmij
maar dit is de juiste code
Code:
        double uitkomst = Double.parseDouble(textField1.getText());
        uitkomst = uitkomst / 3.6;
        DecimalFormat df = new DecimalFormat("##.##");
        textField2.setText(String.valueOf(df.format(uitkomst)));

en om de DecimalFormat te gebruiken voeg boven bij de imports dit toe.
Code:
import java.text.DecimalFormat;

dan zou het moeten werken.
dit werkt zo maarre let wel op dat als de gebruiker wat anders(zoals tekst) invoert hij crashed omdat hij niet gevalideerd wordt.

Byess VRC
 
oooo man echt super bedankt man! Het werkte gewoon vanaf de eerste keer.
Hier ben ik echt blij mee, maakt niet uit voor de late reactie :p
 
graag gedaan en jij ook bedankt
want door jouw wist ik dat ik nog netbeans op me pc had en nu ben in geinterreseerd om een app te gaan schrijven :D
zet je wel ff je status op opgelost ;D
 
euh.. kweet niet hoe ik dit gebruik in netbeans :P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan