Преобразувайте низ в двоен в диалогов прозорец

Имам нужда от помощ, за да разбера кода.

public class ComputeLoanUsingInputDialog{
    public static void main(String[] args){
        String annulInterestRateString = JOptionPane.ShowInputDialog("Enter annual interest rate:")

        // convert string to double
        double annualInterestRate = Double.parseDouble(annualInterestRateString);

        //Obtain monthly interest rate
        double monthlyInterestRate = annualInterestRate/1200;

        .....
    }
}

Така че въпросът ми е, ако имате изскачащ диалогов прозорец, за да помолите потребителя да вмъкне число, тогава защо трябва да използвате метода за анализ, за ​​да конвертирате променливата от низ в двойна?


person Misha    schedule 26.04.2013    source източник
comment
Тъй като целият вход в java е под формата на String   -  person Extreme Coders    schedule 26.04.2013
comment
Има много различни начини да постигнете това, което искате. Можете да погледнете това за някои идеи..   -  person MadProgrammer    schedule 26.04.2013
comment
Благодаря ти за помощта!!   -  person Misha    schedule 26.04.2013


Отговори (4)


Тъй като Java приема входа като String - това, което получава, не е double, докато не му кажете да анализира това String в двойно.

person drew moore    schedule 26.04.2013
comment
За първи път публикувам тук, не знаех за формата, благодаря ви, че го поправихте вместо мен - person Misha; 26.04.2013
comment
Благодаря ти, drewmore, оценявам помощта ти и се радвам, че дойдох тук, помага много! - person Misha; 26.04.2013

Тъй като JOptionPane.showInputDialog() връща String, тъй като потребителят е свободен да въвежда нецифрени знаци в текстовото поле.

person Eng.Fouad    schedule 26.04.2013
comment
Благодаря ви, оцених отговора ви!! - person Misha; 26.04.2013

Тъй като е много по-лесно да се манипулира двоен математически, отколкото да е низ.

Получавате годишна лихва от диалоговия прозорец като низ, можете да видите това от онлайн документация (всички освен един връщат String, този, който връща Object, не съвпада с подписа на вашата функция).

Въпреки това, не можете да направите много с това, освен операции от тип низ.

Ако искате да го манипулирате математически (като например да го разделите на хиляда и двеста във вашия случай), той трябва да бъде преобразуван в числов тип на някакво описание.

Сега можете да промените JOptionPane, за да предоставите:

double JOptionPane.ShowInputDialogGetDouble (...);

но това въвежда голямо количество нов код (по един за тип) с много допълнителни проверки за грешки, които, честно казано, са ненужни, тъй като можете да го направите доста лесно с текущия си метод, Double.parseDouble().

person paxdiablo    schedule 26.04.2013

JOptionPane връща String обект като върната стойност

http://docs.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html#showInputDialog(java.awt.Component, java.lang.Object)

(Не мога да накарам URL адреса да се покаже като една връзка, ще трябва да копирате целия.

Ако върнатият тип беше двоен, нямаше да се налага да го анализирате.

person amarunowski    schedule 26.04.2013