округление валюты

у меня есть следующий код для округления валюты

function MyRound(value :currency) : integer;

begin
  if value > 0 then
    result := Trunc(value + 0.5)
  else
    result := Trunc(value - 0.5);
end;

до сих пор это работало хорошо, моя проблема сейчас в том, если я хочу округлить валюту как+999999989000,40 это дает отрицательное значение, так как Truc принимает int, а MyRound также возвращает int.

Мои возможные решения - конвертировать валюту в строку и получить строку раньше. и конвертировать строку обратно в валюту. Это правильный подход? Я новичок в Delpi, поэтому, пожалуйста, помогите мне.

Ответы на вопрос(4)

Ваш ответ на вопрос