2016-03-17 82 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

即时得到“setOtherThing的BigDecimal []不能用于为BigDecimal” – buradd

+0

@buradd你必须自己做阵列。例如使用地图功能。 –