Avatar billede freenze Nybegynder
17. marts 2009 - 10:24 Der er 5 kommentarer og
1 løsning

sætte komma i lommeregner

Jeg sidder og programmere en lommeregner i java, og vil gerne have den til at kunne regne med komma, altså i stedet for heltalsudregning, skal den kunne udregne 2,5 o.l.
Problemet er dog bare at hver gang jeg indtaster ',' så sletter den den forgående, så der kommer til at stå , og 5, og ikke 2,5

Kan simpelthen ikke finde ud af hvad jeg skal gøre.
Nogen der har en idé?
Avatar billede superanden Nybegynder
17. marts 2009 - 11:31 #1
Har du noget kode vi kan se så er det nemmere
Avatar billede freenze Nybegynder
17. marts 2009 - 12:02 #2
jeg ved ikke helt om det er den her der styrer det, men det er hvertfald den jeg tror det er..

public void addDigit(char digit) {
        if (state == OPR) {
            state = NUM;
            num2 = 0;
        }
        int temp = (int) digit;
        temp = temp - (int) '0';
        num2 = num2 * 10 + temp;
    }


ellers skal det være under controlleren:

private class OperatorController implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            JButton source = (JButton) e.getSource();
            calculator.enterOp(source.getText().charAt(0));
            updateDisplay();
        }
    }
Avatar billede sbeier Nybegynder
18. marts 2009 - 10:34 #3
Hvis du vil komvertere text til en float eller en double kan du bare bruge Float.parseFloat(String) eller Double.parseDouble(String)
Avatar billede Slettet bruger
18. marts 2009 - 10:37 #4
Hej freenze,

Har du sat den op til at bruge , som float tegn istedet for .
Avatar billede freenze Nybegynder
18. marts 2009 - 22:08 #5
nej det har jeg godt nok ikke, men hvad jeg ligesom kan se, burde det heller ikke være nødvendigt.
Ud fra de eksempler jeg kan finde på nettet, og som jeg ikke kan få til at fungere, bliver de ikke lavet om til float.
Avatar billede odsgaard Praktikant
25. marts 2009 - 14:01 #6
Du kan eventuelt benytte noget i denne stil:

public void addDigit(char digit){
String tmp = display.getText();
tmp += digit;
display.setText(tmp);
}

når du så skal bruge tallet i dine beregninger, så kan du parse strengen til en double

double tal = Double.parseDouble(display.getText());

Håber det kan bruges :)

/Brian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester