1 (edited by alex842 2015-07-13 13:15:32)

Topic: Вопрос по DecimalSeparator

Дмитрий, подскажите, пожалуйста,  как работает DecimalSeparator?
Что-то я не пойму.
В Delphi она работает так:

var
  amount : Currency;
begin
  amount := 12.34;    // 12 долларов 34 центов

  // Показ с заданным по умолчанию символом десятичной точки
  ShowMessage('Amount = '+FloatToStrF(amount, ffCurrency, 10, 2));

  // Показ с новым символом десятичной точки
  DecimalSeparator := '|';
  ShowMessage('Amount = '+FloatToStrF(amount, ffCurrency, 10, 2));
end;

Amount = $12.34
Amount = $12|34

А в Вашей программе при попытке   сделать так

DecimalSeparator := '|';

появляется ошибка, что левая часть не соотвествует правой.

Вообще, я хочу сделать проверку дробного числа, и если в нем используется неправильный разделитель, то заменить его на правильный.
Делаю так:

  If not ValidFloat(Amount) Then
  begin
      DecimalSeparator := ',';
  end;

P.S.
И ещё не могу понять, можно ли сделать округление до определенного знака после запятой?
Т.е. до 2 знаков после запятой или одного. В данный момент у меня получается только до целого округлять.

Re: Вопрос по DecimalSeparator

eu consegui resolver com um quebra-galho. O validfloat não funcionou para mim.

numa consulta SQL usei:

select (valor as real) as valor from table.

Estou usando o MVD 3.1 e estou tendo muitas dificuldades com o ponto decimal

Roberto Alencar