Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Ganze Zahl immer auf nächste 50 runden?

  Alt 26. Feb 2017, 19:41
Hallo,

in der Umsetzung aufwändig, aber das Ergebnis scheint zu stimmen :
Delphi-Quellcode:
function auf50kaufmaennisch_runden(Const Value: Integer): Integer;
Var
  i, temp: Integer;
begin
  temp := Value;
  if temp > 49 then begin
    if (StrToInt(copy(IntToStr(temp), Length(IntToStr(temp)) - 1, Length(IntToStr(temp)))) > 49) then begin
      for i := 0 to 50 do begin
        if temp mod 50 = 0 then begin
          Result := temp;
          Exit;
        end
        else Inc(temp);
      end;
    end else begin
      for i := 50 downto 0 do begin
        if temp mod 50 = 0 then begin
          Result := temp;
          Exit;
        end
        else Dec(temp);
      end;
    end;
  end
  else Result := 0;
end;

procedure TForm11.Button1Click(Sender: TObject);
begin
  showmessage(IntToStr(auf50kaufmaennisch_runden(SpinEdit1.Value)));
end;
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat