如何将两个String变量相乘?

时间:2013-07-01 04:05:19

标签: java

我想将两个String变量相乘,并希望将答案存储在一个新变量中。我怎样才能做到这一点?

我已经尝试过这么简单:

String t2 = t1 * m1;

错误是*未定义。所以,我尝试添加:

import java.math.'whatever';

这没有解决错误。

6 个答案:

答案 0 :(得分:2)

String t2 = String.valueOf(Float.valueOf(t1) * Float.valueOf(m1))

答案 1 :(得分:2)

首先从String获取值并按以下方式乘以parsed value

double result = Double.parseDouble(t1 ) * Double.parseDouble(m1);
String t2 = Double.toString(result ); 

查看Conversion between Numbers and String

答案 2 :(得分:1)

使用

String t2 = String.valueOf(Integer.parseInt(t1) * Integer.parseInt(m1)) 

答案 3 :(得分:1)

*未定义,因为t1是一个字符串,并且字符串不能用于乘法。如果t1和m1是数字的字符串表示,您可以将它们转换为数字(选择Integer,Float,Double或应用程序中需要的任何内容),然后相乘。像这样(变量名称是非java风格的,为了额外的可读性,不要抨击它):

    String t1  = "1.5";
    String m1 = "10";

    float t1_as_a_float = Float.parseFloat(t1);
    float m1_as_a_float = Float.parseFloat(m1);

    float t2_as_a_float = t1_as_a_float * m1_as_a_float;

    String t2 = Float.toString(t2_as_a_float);

答案 4 :(得分:1)

Java不知道将两个任意字符串转换在一起意味着什么(即什么是“臭”*“鲸”?)。首先,您需要将字符串转换为数字,将这些数字相乘,然后将结果转换回字符串。

try {
    double t1_num = Double.valueOf(t1);
    double m1_num = Double.valueOf(m1);
    double t2_num = t1_num * m1_num;
    String t2 = String.valueOf(t2_num);
} catch (NumberFormatException e) {
    // called if numbers cannot be converted to Strings
}

当t1和m1包含非数字字符时,您需要try-catch块来处理这些情况,例如“Ryan1”或“15”。

答案 5 :(得分:0)

  

字符串t1 =“325486”;

    String m1 = "7868";

    int n1 = Integer.parseInt(t1);

    int n2 = Integer.parseInt(m1);

    int n3 = n1 * n2;

    String t2 = String.format("%d", n3);