在Inno Setup Pascal脚本中舍入/截断浮点数到N个小数位

时间:2016-08-16 04:25:41

标签: floating-point integer inno-setup pascalscript

这看起来不像Inno Setup问题,但实际上与其有用的Pascal脚本有关。

我编写了一个代码来进行浮点计算。

Height, DivisionOfHeightWidth, Width: Integer;

Height := 1080;
Width := 1920;

DivisionOfHeightWidth := Width / Height;
Log('The Division Of Height and Width: ' + IntToStr(DivisionOfHeightWidth));

编译器日志提供输出:

The Division Of Height and Width: 1

我希望这个编译器输出改为:

The Division Of Height and Width: 1.77

我无法将HeightWidth声明为Extended , SingleDouble,因为它们在大多数情况下都会以Integer的形式返回,所以我需要将这两个整数转换成两个单曲。

完成后:

Height, Width: Integer;
HeightF, WidthF, DivisionOfHeightWidthF: Single;

Height := 1080;
Width := 1920;

HeightF := Height;
WidthF := Width;
DivisionOfHeightWidthF := WidthF / HeightF;
Log('The Division Of Height and Width: ' + FloatToStr(DivisionOfHeightWidthF));

编译器日志现在提供输出:

The Division Of Height and Width: 1.777777791023

但是如何才能将此输出设为1.77(舍入不是1.78 我是说如何将此1.777777791023舍入到1.77等两位小数?

如果像1.77那样四舍五入是不可能的,我怎么能像1.78那样围绕它?

提前致谢。

0 个答案:

没有答案