Существующая строка для удвоения - PullRequest
0 голосов
/ 19 мая 2011

Как я могу изменить существующую строку в двойную. У меня есть такой код, объявленный как строка, но на самом деле он получает число из базы данных ... Я делал преобразование «жало в число», но теперь я не хочу преобразовывать его как строку и получить его как число

 private String _example1;

_example1 = new String();

public String getExample1() {
        return _example1;
    }

    public void setExample1(String s) {
        _example1 = s;
    }

, поэтому я просто изменил строковое слово с двойным в приведенном выше коде ..

private Double _example1;

    _example1 = new Double();

    public Double getExample1() {
            return _example1;
        }

        public void setExample1(Double s) {
            _example1 = s;
        }

но я получаю эту ошибку

[exec] com\sample\jack\javabean\ExampleBean.java:48: cannot resolve symbol
     [exec] symbol  : constructor Double ()
     [exec] location: class java.lang.Double
     [exec]             _example1 = new Double();
     [exec]                                 ^

[exec] com\sample\jack\javabean\ExampleBean.java:134: setExample1(java.lang.Double) in com.sample.jack.javabean.ExampleBean cannot be applied to (double)
     [exec]                             this.setExample1(cstmt.getDouble(2));
     [exec]                                 ^

Может кто-нибудь сказать мне, что я должен сделать, чтобы сделать это правильно .. Спасибо

Ответы [ 4 ]

4 голосов
/ 19 мая 2011

Double является неизменным и должен быть составлен со значением (конструктора без аргументов нет): http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Double.html

2 голосов
/ 19 мая 2011
try {
  double d = Double.parseDouble(str);
  Double D = new Double(d);
}
catch( NumberFormatException e ) {
   // input cleansing
   // thou shalt not fail silently
}

Справка:

Double.parseDouble

1 голос
/ 19 мая 2011

Просто инициализируйте его в своем объявлении и удалите строку, в которой вы устанавливаете его для нового объекта.Взгляните на это .

0 голосов
/ 19 мая 2011

Я не совсем понял вашу проблему, но вот несколько замечаний:

  • Вы можете создать двойное число, просто объявив double d = 0.Или new Double(0) (передавая двойное значение в качестве аргумента)
  • , если вы хотите преобразовать строку в двойную, используйте Double.parseDouble(string)
...