Java:转换int和&浮动双倍?

时间:2010-12-07 23:40:26

标签: java floating-point int double

完成我的Java任务,我创建了一个名为Triangle的类。这有3个变量,side1,side2和side3。我的构造函数方法接受3个浮点值,并依次将它们分配给每个变量。

我的问题是,如果用户输入(10,11.1,12.2)那些被视为(int,double,double)而不是我需要的浮点数(赋值表示3个边必须是浮点值)。 / p>

那么如何在输入时将每个输入转换为浮点数,无论它是整数还是双数?

谢谢,

杰克。

4 个答案:

答案 0 :(得分:3)

您通常会以适当的类型读取数据 - 例如Scanner.nextFloat。这将作为浮点数读为“10”(或“11.1”)。对编译器来说,唯一重要的是类型签名。

答案 1 :(得分:2)

使您的变量/参数类型为Number。数字可以很容易地转换为任何其他数字基元类型。

Number n1 = (int)1;
Number n2 = (double)123.456;

Float f1 = n1.floatValue();
Float f2 = n2.floatValue();

答案 2 :(得分:1)

我假设您正在使用导致问题的文字?在他们之后贴上“f”将使他们漂浮。否则,它完全取决于您的用户界面以及您获取值的方式。

答案 3 :(得分:1)

如果您接受用户输入,那么您几乎肯定会在用户级别处理字符串。如果是这种情况,那么您可以使用Float.valueOf(String)来获取字符串的浮点表示。

对于这种事情,你会在Java的大多数(如果不是全部)数字类型中找到valueOf(String)静态方法。