如何在Ada中将整数转换为浮点数,反之亦然?

时间:2016-07-30 23:29:06

标签: ada

是否有某种实现的函数可以将整数转换为float,反之亦然?

我设法编写了一个将整数转换为float的短函数:

function Transform(First: Integer) return Float is
    A: Integer := First;
    B: Float := 0.0;
begin
    For_Loop:
    for I in Integer range 1 .. A loop
        B := B + 1.0;
    end loop For_Loop;
    return B;
end Transform;

但我不知道如何从Float转到Integer

2 个答案:

答案 0 :(得分:9)

Ada可以explicit type conversions

with Ada.Text_IO; use Ada.Text_IO;
procedure Convert is
  A: Integer:= 4;
  B: Float;
  C: Float := 6.8;
  D: Integer;
begin
  B := Float(A);
  Put_Line(Float'Image(B));

  D:= Integer(C);
  Put_Line(Integer'Image(D));
end Convert;

答案 1 :(得分:0)

Barnes 说要从 Integer 转换为 Float 你应该乘以 1.0。 as root Real * Root Integer 是允许的,并返回 root Real。