有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

浮点Java:将整数和双精度转换为浮点?

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

我的问题是,如果用户输入(10,11.1,12.2),这些值被视为(int,double,double),而不是我所需要的浮点值(赋值说明3个边必须是浮点值)

那么,无论输入时是整数还是双精度,如何将每个输入转换为浮点呢

谢谢

杰克


共 (4) 个答案

  1. # 1 楼答案

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

    Number n1 = (int)1;
    Number n2 = (double)123.456;
    
    Float f1 = n1.floatValue();
    Float f2 = n2.floatValue();
    
  2. # 2 楼答案

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

    对于这类事情,您可以在Java中的大多数(如果不是全部的话)数字类型上找到valueOf(String)静态方法

  3. # 3 楼答案

    我假设您使用的是导致问题的文字?在它们后面粘贴一个“f”将使它们浮动。否则,它完全取决于您的用户界面以及如何获取值

  4. # 4 楼答案

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