Ada-打印持续时间数据类型时如何控制小数点?

Ada-打印持续时间数据类型时如何控制小数点?,ada,Ada,这是我的打印声明: timeInMili: duration; timeInMili := (finish - start)*1000; Put_Line(duration'image(timeInMili)); (乘以1000从秒变为毫秒) 上面给出了很多小数位。有人能给我举个例子,说明如何使用设定的小数位数进行打印。

这是我的打印声明:

 timeInMili: duration;

 timeInMili := (finish - start)*1000;

 Put_Line(duration'image(timeInMili));
(乘以1000从秒变为毫秒)


上面给出了很多小数位。有人能给我举个例子,说明如何使用设定的小数位数进行打印。

'Image属性更好地控制输出格式

例如:

with Ada.Text_IO; use Ada.Text_IO;
procedure Foo is
    package Duration_IO is new Fixed_IO(Duration);
    timeInMili: Duration := 1.0 / 3.0;
begin
    Duration_IO.Put(timeInMili, Fore => 0, Aft => 2);
    New_Line;
end Foo;
输出:

0.33

当我试图添加Ada.Duration\u Io库时,它说它不是预定义的库。@Nwqp没有
Ada.Duration\u Io
,我在Keith的回答中没有看到
Ada.Duration\u Io
。他的代码通过实例化
Ada.Text\u IO.Fixed\u IO
定义了一个新的
Duration\u IO
包。我喜欢可选的
Fore
Aft
参数的航海感觉。直观、简洁,并保持代码井然有序,符合布里斯托尔时尚。。。。