2013-10-30 24 views
0

我想多个字符串值从微调选择任何数字但问题是textview值是字符串'Rs.6,849'我该如何乘以这个字符串与任何数字形式微调?我soconfuse值关闭tet视图来自服务器,所以它不能改变我怎么可以改变字符串与微调我需要帮助我如何多个字符串与微调整数????如何更新每个微调器值select的textview?我的代码不会乘以字符串的整数值

  TextViewprice =("Rs.6,849") ; 
     TextViewprice = (TextView) findViewById(R.id.TextViewprice); 

      spn = (Spinner) findViewById(R.id.spnner); 
      spn.setOnItemSelectedListener(new OnItemSelectedListener() 
      { 

    public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) 
     String multiple; 
       multiple= 
     String.valueOf(Integer.parseInt(spn.getSelectedItem().toString())* 
       Integer.parseInt(TextViewprice.getText().toString())); 


       { 
        T 
     extViewprice.setText(multiple); 
       } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 

      }); 


    <Spinner 
    android:id="@+id/spnner" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
    android:layout_width="wrap_content" 
    android:entries="@array/feedbacktypelist"></Spinner> 




       <string-array name="feedbacktypelist"> 
      <item>1</item> 
      <item>2</item> 
      <item>3</item> 
      <item>4</item> 
      <item>5</item> 
      <item>6</item> 

      <item>7</item> 
      <item>8</item> 
      <item>9</item> 
       <item>10</item> 
    </string-array> 
+0

查找的Integer.parseInt。你需要传递一个有效的整数(没有aphabets等);否则你将会遇到一个数字形式的错误http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html – Akshay

+0

你的代码看起来很好,你已经把字符串解析为Integer了,你有什么问题正面临着? –

回答

2

您需要从字符串中只提取数字,然后相乘。

String value = TextViewprice.getText().toString() 
value = value.replaceAll("\\D+",""); //REGEX 
multiple = String.valueOf(Integer.parseInt(spn.getSelectedItem().toString())*  Integer.parseInt(value); 
0
 /** 
    * Convert Currency To Double. 
    */ 
public static Double convertCurrencyToInteger(String strNumber) { 

    try { 

     // Split "Rs." from string. 
     strNumber = strNumber.substring(3, strNumber.length()); 

     // Convert String to Number. 
     Double number = NumberFormat.getNumberInstance().parse(strNumber) 
       .doubleValue(); 

     return number; 
    } 

    catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 
相关问题