2013-05-08 98 views
0

我得到一个NumberFormatException异常:无效的双“111,000,000”在这行代码:双无效在将字符串转换为Double

double SalePotential = Double.valueOf(EtPotential.getText().toString()); 

在我使用NUMBERFORMAT,格式化我的双重价值分离号开始并插入一个EditText,但是当我尝试检索的EditText的值,它抛出我的异常:

NumberFormat f = NumberFormat.getInstance(); 
EtPotential.setText(String.valueOf(f.format(PTData.SalePotential))); 

我也试过的DecimalFormat或Double.parseDouble没有成功。任何帮助,将不胜感激! :

DecimalFormat f = new DecimalFormat("###.###", DecimalFormatSymbols.getInstance()); 
double SalePotential = Double.parseDouble(EtPotential.getText().toString()); 
+0

是什么,它的输出:'将String.valueOf(f.format(PTData.SalePotential))'? – 2013-05-08 06:53:05

+0

是“111,000,000”的实际投入? – ShinTakezou 2013-05-08 06:53:27

+0

EtPotential.getText()。toString()edittext中的输入是什么? – Raghunandan 2013-05-08 06:55:06

回答

5

解析

double SalePotential = Double.parseDouble(EtPotential.getText().toString().replace(",", "")); 

更新之前删除 “”:有了正确执行

double salePotential = 0; // Variable name should start with small letter 
try { 
    salePotential = Double.parseDouble(EtPotential.getText().toString().replace(",", "")); 
} catch (NumberFormatException e) { 
    // EditText EtPotential does not contain a valid double 
} 

编码愉快:)

+0

它Workssssss,Tyyyyy! – 2013-05-08 07:04:10

+0

Congs man .. you made it .. – 2013-05-08 07:05:46

+1

谢谢你的逻辑对我有用 – 2017-04-14 10:44:26

1

使用替换功能,以取代所有出现,

 String s= EtPotential.getText().toString(); 
    s = s.replace(",", ""); 
    try 
    { 
     double SalePotential = Double.parseDouble(s); 
    }catch(NumberFormatException e) 
    { 
     e.printStackTrace(); 
    } 
+0

+1正确答案ty;) – 2013-05-08 07:04:40

相关问题