2013-10-30 62 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; 
    } 
} 
相關問題