2012-02-23 116 views
0

我需要計算一個東西。但我的公式句子出現了一些問題。Android數學運算符

TextView ticketP = (TextView)findViewById (R.id.ticketQ); 

    ticketP.setText(oneSession.getTicketOder()); 

String Ctotal = ""; 

Ctotal = jsonObject.optString("price"); 




String OneTotal = oneSession.getTicketOder() * Ctotal; // this part has occur the problem which is the operator * . 
+0

你想爲其他東西乘以一個字符串嗎?我懷疑字符串乘法是定義,我懷疑你需要做Integer.parseInt第一 – sherpya 2012-02-23 17:50:34

+0

你..謝謝你...問題解決 – 2012-02-23 18:05:03

回答

0

在執行任何乘法操作之前,您需要將字符串轉換爲數字類型。根據您使用的數值類型,請看Double.parseDouble(String string)Integer.parseInt(String string)

+0

謝謝...你能幫助我多一個問題? total_One =(TextView)findViewById(R.id.totalOder); double FTotal = perT * Tprice; total_One.setText(FTotal); 怎麼不能用setText來顯示? – 2012-02-23 18:02:26

+0

total_One.setText(String.valueOf(FTotal)); – 2012-02-23 18:04:46

0
int oneTotal = Integer.valueOf(oneSession.getTicketOder()) * Integer.valueOf(Ctotal); 

再次轉換爲字符串使用

String.valueOf(oneTotal)

+1

Integer.valueOf()實際上比您需要的更多。 Integer.valueOf()返回Integer類型的對象,其中parse方法返回本機類型,而不是包裝類。 – 2012-02-23 18:08:58

0

是。您必須使用解析方法才能將字符串轉換爲本機數字類型。您還需要關心代碼中的一些事情。

json.optString()可以返回null。 opt =可選。我建議使用json.getInt()或json.getDouble()這不僅會給你正確的類型,而且如果值不正確,也會拋出異常。

其次,如果要顯示它,則必須將數字答案轉換回字符串。但是,如果你很懶,用.toString()或+「」就足夠簡單了。

+0

哦,我明白了..現在我想知道optString與getString ..現在我已經有一些想法...謝謝你... – 2012-02-23 18:19:31

+0

沒問題。如果我說任何有用的只是upvote :) – 2012-02-23 18:21:50