2011-08-22 119 views
3

是否有方法将字符串转换为双倍。我就是这样做的。 。将字符串转换为双倍

String s = b.getText().toString(); 
     double d = Double.parseDouble(s); 

它给NumberFormatException的

+1

您的字符串不是数字。 – SLaks

+1

getText()返回什么值? – chesles

+1

b包含什么文字? –

回答

3

尝试此

的String = b.getText()的toString(); double d = Double.valueOf(s.trim())。doubleValue();

+0

不,它不起作用..仍然会发生异常 – SKB

+0

s iebgetText()。toString()的值是什么? – CommonMan

0

您可能从一个零长度的字符串开始。在解析之前检查长度。它也不会受到NumberFormatException的影响,但如果在视图的布局中有android:inputType="number",那应该不会有问题。

double d = 0; 
CharSequence cs = b.getText(); 
if(cs != null && cs.length() > 0) { 
    d = Double.parseDouble(cs.toString()); 
} 
0

我有类似的问题。 正确格式的EditText文本内容,以双值我用这个代码:

try { 
     String eAm = etAmount.getText().toString(); 
     DecimalFormat dF = new DecimalFormat("0.00"); 
     Number num = dF.parse(eAm); 
     mPayContext.amount = num.doubleValue(); 
    } catch (Exception e) { 
     mPayContext.amount = 0.0d; 
    } 

这是independet从当前手机语言环境和返回正确的双重价值。

希望有帮助;