【问题标题】:How to turn a float into an int如何将浮点数变成整数
【发布时间】:2014-01-26 03:13:31
【问题描述】:

从用户输入计算得到一个十进制浮点数,比如 2.856,我需要将其转换为整数 2。

注意,这必须在代码本身中完成,不能简单地用 %.0f 输出;我需要它用于以后的计算。

补充说明,我用过

float Var1;
int Var2;
Var1 = 2.856;
Var2 = (int)Var1;

如果这是最简单的方法,请解释 (int) 是如何工作的,因为我不知道。

编辑:好的,所以我的解释有点不清楚,Var 1 = 2.856 已经由代码确定。我实际上并没有在这里输入任何数字。所以使用它我需要把 Var1 变成 Var2。所以我不能输入代码

Var2=(int)2.856

因为 2.856 一直在变化。 可以吗

Var2=(int)Var1?

或者到那个程度?

【问题讨论】:

标签: java floating-point int


【解决方案1】:
float f = 2.345F;
in i = (int) f;

就这么简单。 是的,如果不清楚的话;您需要在浮点数的值后面放置一个 F,否则它将被解释为双精度。

【讨论】:

    【解决方案2】:

    这确实是最简单的方法。 (int) 所做的是将浮点变量“转换”为整数形式。由于浮点变量由于小数点而不能正常存储为整数,(int) 通过截断小数部分将浮点“转换”为整数。由于您使用的是 java,因此遵循 java 命名约定也是一个好主意,在这种情况下,这意味着您应该以小写字母开头。

    【讨论】:

      【解决方案3】:

      你必须在数字后面加上一个f,所以它被视为float而不是double

      var1 = 2.856f;
      

      然后将其转换为 int:

      var2 = (int)var1;
      

      (int) number:这称为强制转换(可以使用其他原始类型进行,也可以使用类)。将数字转换为int 时,会去掉非整数部分(点之后),只返回整数部分。

      注意:我建议您遵循 Java 命名约定。您的变量应命名为nameOfVariable,而类应命名为NameOfClass

      【讨论】:

        猜你喜欢
        • 2015-05-28
        • 2012-09-19
        • 2016-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-24
        • 1970-01-01
        相关资源
        最近更新 更多