如何在Delphi中将整数转换为float?

Aft*_*ock 8 delphi pascal

如何在Delphi中将整数转换为float?

例如int_h:= int_var/1.5*int_var;

Cod*_*aos 9

i*1.0应该将其转换为浮点数.任何涉及任何类型的浮点数的计算都会被隐式转换为extendend,然后在赋值时隐式转换为所需的结果类型.与C/C++相反,所有计算都发生在扩展(80位浮点数,x87浮点单元的内部格式)中,并在以后转换回来.

真实的(i)也可能有效.

  • 我宁愿说 i + 0.0 而不是 i * 1.0,因为即使一年级的学生也会加法,但我认为只有在二年级你才能学会乘法。(开个玩笑 - 乘法比加法需要更多的 CPU 或 FPU 能力) (2认同)

小智 5

整数到浮点数

不需要投射任何东西,只需分配

Float1 := Integer1;
Run Code Online (Sandbox Code Playgroud)

你的问题似乎是 Float to Integer

两种选择

Integer1 := Trunc(Float1); //truncate 
Run Code Online (Sandbox Code Playgroud)

或者

Integer1 := Round(Float1); //Round
Run Code Online (Sandbox Code Playgroud)

  • 没有Ceil 总是舍入到+inf,Floor 总是舍入到-inf,而Trunc 总是舍入到0。所以Ceil() 的对立面不是Trunc,而是Floor。 (3认同)