2016-03-17 5 views
2

У меня есть ссылка, выпускающая приложение для Android, которое конечный пользователь может вводить значения, а затем «хранить» их как значения по умолчанию, поэтому в следующий раз, когда они отправятся на выпуск цитаты, значения по умолчанию предварительно заполнены ...String [] to BigDecimal []

я могу хранить BigDecimal[] к String[], но у меня самое трудное время получения String[] обратно в BigDecimal[]

кто может мне помочь, пожалуйста?

for(int i=0;i<3;i++){ 
edit.putString(SOMETHING[i], String.valueOf(aSomething.getOtherThing(i))); 
} 

это работает, чтобы сохранить его в виде строки , но я не могу получить его обратно к BigDecimal, я попытался это, среди прочего:

for(int i=0;i<3;i++){ 
aSomething.setOtherThing(BigDecimal.valueOf(SOMETHING[i])); 
} 

спасибо!

ответ

1

Вы могли бы просто использовать

new BigDecimal(str); 

В вашем случае это будет

for(int i=0;i<3;i++){ 
    aSomething.setOtherThing(new BigDecimal(SOMETHING[i])); 
} 

Но вы должны знать, что это не безопасно и может бросить NumberFormatException, если значение не является действительное представление BigDecimal.

Рассмотрим проверить это Safe String to BigDecimal conversion

+0

Im получение «setOtherThing BigDecimal [] не может быть применен к BigDecimal» – buradd

+0

@buradd Вам придется сделать массив самостоятельно. Например, используя функцию отображения. –