To nie wygląda jak pytanie Inno Setup, ale jest faktycznie związane z jego użytecznym skryptem Pascal.Zaokrąglanie/Obcinanie liczb zmiennoprzecinkowych do N miejsc po przecinku w konfiguracji Inno Pascal Script
Napisałem kod do obliczeń zmiennoprzecinkowych.
Height, DivisionOfHeightWidth, Width: Integer;
Height := 1080;
Width := 1920;
DivisionOfHeightWidth := Width/Height;
Log('The Division Of Height and Width: ' + IntToStr(DivisionOfHeightWidth));
Compiler dziennika daje wyjście:
The Division Of Height and Width: 1
Chcę wyjście kompilatora, aby powrócić to zamiast:
The Division Of Height and Width: 1.77
Nie mogę zadeklarować Height
i Width
jak Extended , Single
lub Double
ponieważ w większości przypadków wracają jako Integer
, więc muszę przekonwertować te dwa Liczby całkowite do dwóch Singli.
Po zrobieniu go:
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));
Compiler dziennika teraz daje wyjście:
The Division Of Height and Width: 1.777777791023
Ale jak mogę to wyjście jako 1.77
? (Nie 1.78
przez zaokrąglenia) Mam na myśli, jak mogę zaokrąglić to 1.777777791023
z dwoma miejscami po przecinku, jak 1.77
?
Jeśli zaokrąglanie go tak, jak 1.77
jest niemożliwe, jak mogę to zaokrąglić, tak jak 1.78
?
Z góry dziękuję.
Użyłem twojej implementacji zamiast formatowania String. Działało bardzo dobrze! Dziękujemy! ........ Mam szczęście, ponieważ zawsze używam wersji Inno Setup Unicode .....;) – GTAVLover