2012-02-23 95 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