Is not a valid floating point value как исправить

Сначала

Сначала

Убедитесь, что Вы скачали и установили последнюю версию программы именно с официального сайта: Технологическая карта и Дефектовка. Копии, скачанные с других ресурсов, могут быть устаревшими.

Проблемы с регистрацией

Если с помощью полученных имени пользователя и регистрационного ключа не удаётся произвести регистрацию, проверьте следующее:
— имя пользователя вводится в точности так, как было указано в письме с ключом (регистр важен!)
— регистрационный ключ вводится одной строкой (некоторые почтовые программы могут отобразить слишком длинный ключ в две строки)
— ключ работоспособен только на том компьютере, с которого был взят идентификатор

Если ничего не помогло, то перезагрузите компьютер и сравните идентификатор в программе с отосланным Вами ранее. Редко, но он может измениться. В этом случае сообщите новый идентификатор и Вам будет отправлен рабочий ключ.

Проблемы при работе программ

Ошибки при добавлении или удалении элементов из базы, внесённые в базу изменения не сохраняются, купленная база не появляется в программе, при регистрации не запоминается ключ
Решение:
— Если Вы используете ОС Windows Vista и выше, отключите UAC (контроль учётных записей) или установите программу в папку, отличную от системной (Program Files)
либо
— Всегда запускайте программу с правами администратора:

Для программы Тех. карта: в свойствах файла TechCard.exe (находится в папке, куда установлена программа, обычно это C:Program Files (x86)TechCard) на вкладке Совместимость необходимо поставить галку для запуска программы от имени администратора.
Для программы Дефектовка: в свойствах файла DefectList.exe (находится в папке, куда установлена программа, обычно это C:Program Files (x86)DefectList) на вкладке Совместимость необходимо поставить галку для запуска программы от имени администратора.

Изображение

Ошибка (при создании документа):
На форме найдено недопустимое поле со следующей ссылкой: [имя_ссылки]. Удалите её для корректного создания документов.
Решение:
Откройте редактирование формы документа и найдите поле с текстом [имя_ссылки]. Потом либо удалите его, либо исправьте на верное.

Ошибка (при создании документа):
«» is not a valid floating point value
Решение:
Данная ошибка может возникнуть при создании документов с длинными списками продуктов или работ/материалов, либо при переходе списка с одной страницы на другую;
Чтобы её исправить, сделайте следующее:
— откройте редактирование формы соответствующего документа
— найдите ту секцию, в которой выводится список (таблица) (обычно она имеет тип «MasterData»)
— щёлкните правой кнопкой мыши по секции и уберите в появившемся меню флажок с опции «Разрываемый» (если он установлен)

Ошибка (при создании документа, число в кавычках может быть любое):
«10,5» is not a valid floating point value
Решение:
В панели управления найдите раздел «Язык и региональные стандарты», на его первой вкладке нажмите кнопку Дополнительно и измените разделитель целой и дробной части на запятую. При работе с программой разделитель всегда должен быть запятой, иначе возможны ошибки при работе с базой и открытии сохранённых файлов.

Ошибка (при открытии блюда, только для программы Тех. карта):
«» is not a valid floating point value
Решение:
Обычно возникает, когда блюда, сохранённые в версии 1.3, пытаются открыть в версии 1.2. Обновите программу до последней версии.
Если это не помогло, откройте файл блюда обычным текстовым редактором, найдите строки, где после = ничего нет и впишите туда 0.

I’m trying to get a Double from 10,000.00:

aProductData.BuyPriceHT := 10000;
BuyPriceHTEdit.Text := FormatFloat('#,###.#0', aProductData.BuyPriceHT, FCurrencyFormat);
aProductData.BuyPriceHT := StrToFloat(BuyPriceHTEdit.Text, FCurrencyFormat); <-- error here

where aProductData.BuyPriceHT is a Double

FCurrencyFormat := TFormatSettings.Create('en-US'); 

Note: To the good guys that are going to advice using Decimals or Int64 types to store Currency in db.
I already did it is just that it still buggs me why it does not work.

Remy Lebeau's user avatar

Remy Lebeau

536k30 gold badges444 silver badges750 bronze badges

asked Dec 16, 2019 at 14:44

Nasreddine Galfout's user avatar

5

From the documentation of StrToFloat:

Thousand separators and currency symbols are not allowed in the string.

Generally speaking, there are so many different ways you can write numbers and dates and times, that you don’t want to convert from strings (textual representations) to such values.

Typically you make sure always to store and transmit such values in numeric form (for instance, as integers, floats, or records of such values), and you only convert such a value to a textual representation when it is to be displayed in a GUI or written to a text file.

If you need to store or transmit it as text, use a strictly defined format. Then you can write your own converter that interprets that particular format without ambiguity.

answered Dec 16, 2019 at 19:34

Andreas Rejbrand's user avatar

Andreas RejbrandAndreas Rejbrand

104k8 gold badges274 silver badges378 bronze badges

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, unit2, unit3, unit4;
 
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    vt1: TMenuItem;
    N7: TMenuItem;
    procedure N4Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure vt1Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  a, b, n, m, i, j: integer;
  Form1: TForm1;
 
implementation
 
{ uses unit2,unit3,unit4; }
{$R *.dfm}
 
procedure TForm1.N4Click(Sender: TObject);
begin
  form2.show;
end;
 
procedure TForm1.N6Click(Sender: TObject);
begin
  close;
end;
 
procedure TForm1.N5Click(Sender: TObject);
begin
  form3.StringGrid1.rowCount := form2.StringGrid1.ColCount;
  form3.StringGrid1.ColCount := form2.StringGrid2.ColCount;
  form3.show;
end;
 
procedure TForm1.vt1Click(Sender: TObject);
var
  i, j, n, e, f, c: integer;
  z, z1, z2, fun: real;
  k: string;
begin
 
 
  form4.StringGrid1.rowCount := (form2.StringGrid1.ColCount) + 1;
  form4.StringGrid1.ColCount := (form2.StringGrid2.ColCount) + 1;
  for I := 0 to form4.StringGrid1.rowCount - 1 do
    for j := 0 to  form4.StringGrid1.ColCount - 1 do
      form4.StringGrid1.Cells [i,j]:='';
 
  { Подпись фикс. ячеек }
  n := form2.StringGrid2.ColCount;
  for j := 1 to n do
    begin
      k := inttostr(j);
      form4.StringGrid1.cells[j, 0] := 'b[' + k + ']';
    end;
  m := form2.StringGrid1.ColCount;
  for i := 1 to m do
    begin
      k := inttostr(i);
      form4.StringGrid1.cells[0, i] := 'a[' + k + ']';
    end;
  { Заполнение распределительной таблицы }
  e := 1;
  f := 1;
  c := 0;
//  z := 0;
  i := 0;
  j := 0;
  repeat
    z1 := strtofloat(form2.StringGrid1.cells[i, 0]);
    z2 := strtofloat(form2.StringGrid2.cells[j, 0]);
    if z1 < z2 then
      begin
        form4.StringGrid1.cells[f, e] := floattostr(z1);
        form2.StringGrid1.cells[i, 0] := '0';
        z := (z2 - z1);
        form2.StringGrid2.cells[j, 0] := floattostr(z);
        fun := fun + z1 * strtofloat(form3.StringGrid1.cells[f - 1, e - 1]); { Целевая функция }
        i := i + 1;
        e := e + 1;
        c := c + 1;
      end
    else
      begin
        form4.StringGrid1.cells[f, e] := floattostr(z2);
        form2.StringGrid2.cells[j, 0] := '0';
        z := (z1 - z2);
        form2.StringGrid1.cells[i, 0] := floattostr(z);
        fun := fun + z2 * strtofloat(form3.StringGrid1.cells[f - 1, e - 1]); { Целевая функция }
        j := j + 1;
        f := f + 1;
        c := c + 1;
      end;
  until n + m - 1 = c;
 
  { Целевая функция }
  form4.label2.caption := floattostr(fun);
 
  form4.show;
 
end;
 
procedure TForm1.N7Click(Sender: TObject);
var
 // a: array [1 .. 10, 1 .. 10] of real;
  n, m, i, j,  i0, j0: integer;
  min, fun, z1, z2, z: real;
  k: string;
  x, y: set of byte;
begin
  form4.StringGrid1.rowCount := (form2.StringGrid1.ColCount) + 1;
  form4.StringGrid1.ColCount := (form2.StringGrid2.ColCount) + 1;
 
  for I := 0 to form4.StringGrid1.rowCount - 1 do
    for j := 0 to  form4.StringGrid1.ColCount - 1 do
      form4.StringGrid1.Cells [i,j]:='';
  { Подпись фикс. ячеек }
 
  n := form2.StringGrid2.ColCount;
 
  for j := 1 to n do
    begin
      k := inttostr(j);
      form4.StringGrid1.cells[j, 0] := 'b[' + k + ']';
    end;
 
  m := form2.StringGrid1.ColCount;
 
  for i := 1 to m do
    begin
      k := inttostr(i);
      form4.StringGrid1.cells[0, i] := 'a[' + k + ']';
    end;
 
  fun := 0;
 
  repeat
     min := MaxInt;  // изначально ставим максимальное число
    for i := 0 to m - 1 do
      begin { нахождение min }
        if i in x then
          Continue;
        for j := 0 to n - 1 do
          begin
            if j in y then
              Continue;
            if (strtofloat(form3.StringGrid1.cells[j, i]) < min) then
              begin
                min := strtofloat(form3.StringGrid1.cells[j, i]);
                i0 := i;
                j0 := j;
              end;
          end;
      end;
 
    z1 := strtofloat(form2.StringGrid1.cells[i0, 0]);
    z2 := strtofloat(form2.StringGrid2.cells[j0, 0]);
    if (z1 > 0) AND (z2 > 0) then
      begin
        if z1 < z2 then
          begin
            form4.StringGrid1.cells[j0 + 1, i0 + 1] := floattostr(z1);
            form2.StringGrid1.cells[i0, 0] := '0';      // можешь это отключить - не надо
            z := (z2 - z1);
            form2.StringGrid2.cells[j0, 0] := floattostr(z);
            fun := fun + z1 * strtofloat(form3.StringGrid1.cells[j0, i0]); { Целевая функция }
            include(x, i0);   // исключаем строку  при последующем поиске минимального значения
            end;
 
      if z1 > z2 then
          begin
            form4.StringGrid1.cells[j0 + 1, i0 + 1] := floattostr(z2);
            form2.StringGrid2.cells[j0, 0] := '0';           // можешь это отключить - не надо
            z := (z1 - z2);
            form2.StringGrid1.cells[i0, 0] := floattostr(z);
            fun := fun + z2 * strtofloat(form3.StringGrid1.cells[j0, i0]); { Целевая функция }
            include(y, j0);   // исключаем столбец  при последующем поиске минимального значения
            end;
 
      if z1 = z2 then
          begin
            form4.StringGrid1.cells[j0 + 1, i0 + 1] := floattostr(z2); // или z1 - по выбору
            form2.StringGrid2.cells[j0, 0] := '0';              // можешь это отключить - не надо
            z := (z1 - z2);
            form2.StringGrid1.cells[i0, 0] := floattostr(z);
            fun := fun + z2 * strtofloat(form3.StringGrid1.cells[j0, i0]); { Целевая функция }
            include(x, i0);  // исключаем строку  при последующем поиске минимального значения И
            include(y, j0);  // исключаем столбец  при последующем поиске минимального значения
           end;
 
       end
   until    min = MaxInt ;
  { Целевая функция }
  form4.label2.caption := floattostr(fun);
 form4.show;
 
end;
 
end.

Problem

This technote provides a workaround for the Unhandled exception: EDatabase Error: Not a valid floating point value, error that occurs when running a Resource Supply and Demand pivot in IBM® Rational® Portfolio Manager (RPM).

Cause

The full error message:

Unhandled exception: EDatabase Error, '168,00' is not a valid floating point value for field 'fldRESOURCE_CALENDAR'

This issue occurs because the Regional Language Standard and Formats is set to Spanish or other languages whose decimal symbol and digit grouping symbol are not the same as US standard.

This issue has been identified as a product defect and has been logged under APAR PK27911.

Resolving The Problem

To workaround this issue, perform the following:

  1. Click on Start > Control Panel and open Regional and Language Options
  2. Select the Regional Options tab
  3. Under the Standard and Formats update the drop down to display English (United States)

[{«Product»:{«code»:»SSRR2G»,»label»:»Rational Portfolio Manager»},»Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Component»:»Pivots & Reports»,»Platform»:[{«code»:»PF033″,»label»:»Windows»}],»Version»:»7.0.0.0;7.0.1.1″,»Edition»:»»,»Line of Business»:{«code»:»LOB45″,»label»:»Automation»}}]

You are not logged in. Please login or register.

Active topics Unanswered topics

Pages 1

You must login or register to post a reply

1 2017-04-05 08:03:22

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Topic: Ошибка » is not a valid floating point value

Дмитрий здравствуйте. Какая-то засада. Есть форма Ремонт и при попытке редактирования внесённой записи, вываливается такая ошибка. Что делать?! Проект отправил вам на support@drive-software.com

надо идти вперёд….

2 Reply by DriveSoft 2017-04-05 09:54:24

  • DriveSoft
  • DriveSoft
  • Administrator
  • Offline
  • Registered: 2014-02-14
  • Posts: 10,294

Re: Ошибка » is not a valid floating point value

Здравствуйте.

Отправьте пожалуйста снова.

Dmitry.

3 Reply by kovalenko 2017-04-05 11:49:56

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Re: Ошибка » is not a valid floating point value

DriveSoft wrote:

Здравствуйте.

Отправьте пожалуйста снова.

Отправил.

надо идти вперёд….

4 Reply by kovalenko 2017-04-05 11:52:38

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Re: Ошибка » is not a valid floating point value

DriveSoft wrote:

Здравствуйте.

Отправьте пожалуйста снова.

И ещё момент, всё произошло, как мне показалось, после попытки изменить поля с Целое число на Деньги. Потом всё вернул обратно, но…Может с этим и не связано.

надо идти вперёд….

5 Reply by kovalenko 2017-04-06 05:34:49

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Re: Ошибка » is not a valid floating point value

kovalenko wrote:

DriveSoft wrote:

Здравствуйте.

Отправьте пожалуйста снова.

Отправил.

Дмитрий здравствуйте. С моей проблемой никак не помочь?

надо идти вперёд….

6 Reply by DriveSoft 2017-04-06 12:17:13

  • DriveSoft
  • DriveSoft
  • Administrator
  • Offline
  • Registered: 2014-02-14
  • Posts: 10,294

Re: Ошибка » is not a valid floating point value

kovalenko

Ошибка была в самой программе, скачайте пожалуйста последнюю бета версию 3.4
https://www.dropbox.com/s/4sb2tk75rauoj … b.zip?dl=0

Также по какой то причине в вашем проекте была ошибка в структуре БД, которая как то связана с удалением таблицы operation, поправил

Также я удалил внешний ключ application.id_completeness, т.к. он фактически не используется

Dmitry.

7 Reply by kovalenko 2017-04-06 12:29:24

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Re: Ошибка » is not a valid floating point value

DriveSoft wrote:

kovalenko

Ошибка была в самой программе, скачайте пожалуйста последнюю бета версию 3.4
https://www.dropbox.com/s/4sb2tk75rauoj … b.zip?dl=0

Также по какой то причине в вашем проекте была ошибка в структуре БД, которая как то связана с удалением таблицы operation, поправил

Также я удалил внешний ключ application.id_completeness, т.к. он фактически не используется

Спасибо ВАМ огромное!!!!
И как говорится нет худа без добра….я помог в выявлении бага))))
Ещё раз СПАСИБО!!!

надо идти вперёд….

8 Reply by DriveSoft 2017-04-06 12:41:14

  • DriveSoft
  • DriveSoft
  • Administrator
  • Offline
  • Registered: 2014-02-14
  • Posts: 10,294

Re: Ошибка » is not a valid floating point value

kovalenko
Да, спасибо за найденную ошибку.

Dmitry.

9 Reply by kovalenko 2017-04-06 13:22:45

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Re: Ошибка » is not a valid floating point value

DriveSoft wrote:

kovalenko
Да, спасибо за найденную ошибку.

Дмитрий если позволите ещёвопрос.
У меня в форме Новый заказ в закладке Работы по заказу в подсчёте стоимости (предварительный вариант) есть поле, куда я ввожу скидку по стоимости работ. Так вот, если сумма к оплате 2000 и скидка 10% то в окне К оплате выводиться не 1800, а другая сумма, НО, после сохранения и повторного открытия этого заказа, уже всё ровно.К оплате 1800. Это не критично, но можно как-то исправить?

И ещё вопрос, при переходе в форму посредство кнопки Показать запись из Грида другой формы, у меня показывается конкретная запись, срабатывает фильтр. В том-же случае но при использовании кнопки Показать форму, у меня соответственно после перехода на новую форму, показываются все записи. Вопрос, при использовании функции Показать запись можно-ли в новой форме сбрасывать все фильтры для просмотра всех остальных записей? Можно конечно ручками отключать все параметры фильтрации, но может есть какой-либо вариант со скриптами и использовании отдельной кнопки, что-то вроде «Сбросить все фильтры поиска»?

надо идти вперёд….

10 Reply by DriveSoft 2017-04-07 12:25:07

  • DriveSoft
  • DriveSoft
  • Administrator
  • Offline
  • Registered: 2014-02-14
  • Posts: 10,294

Re: Ошибка » is not a valid floating point value

kovalenko wrote:

Дмитрий если позволите ещёвопрос.
У меня в форме Новый заказ в закладке Работы по заказу в подсчёте стоимости (предварительный вариант) есть поле, куда я ввожу скидку по стоимости работ. Так вот, если сумма к оплате 2000 и скидка 10% то в окне К оплате выводиться не 1800, а другая сумма, НО, после сохранения и повторного открытия этого заказа, уже всё ровно.К оплате 1800. Это не критично, но можно как-то исправить?

Проверил, на форме frmApplication ввожу скидку в компонент edDiscount, значение к Оплате в компоненте edPayment меняется сразу.
Или я не правильно понял?

kovalenko wrote:

И ещё вопрос, при переходе в форму посредство кнопки Показать запись из Грида другой формы, у меня показывается конкретная запись, срабатывает фильтр. В том-же случае но при использовании кнопки Показать форму, у меня соответственно после перехода на новую форму, показываются все записи. Вопрос, при использовании функции Показать запись можно-ли в новой форме сбрасывать все фильтры для просмотра всех остальных записей? Можно конечно ручками отключать все параметры фильтрации, но может есть какой-либо вариант со скриптами и использовании отдельной кнопки, что-то вроде «Сбросить все фильтры поиска»?

Пример, как очистить компоненты

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.Edit1.Clear;
    Form1.Memo1.Clear;
    Form1.CheckBox1.State := cbGrayed;
    Form1.ComboBox1.dbItemID := -1;
    Form1.DateTimePicker1.Checked := False;
end;

Dmitry.

11 Reply by kovalenko 2017-04-07 14:44:20

  • kovalenko
  • kovalenko
  • Member
  • Offline
  • From: Санкт-Петербург
  • Registered: 2017-03-09
  • Posts: 266

Re: Ошибка » is not a valid floating point value

DriveSoft wrote:

kovalenko wrote:

Дмитрий если позволите ещёвопрос.
У меня в форме Новый заказ в закладке Работы по заказу в подсчёте стоимости (предварительный вариант) есть поле, куда я ввожу скидку по стоимости работ. Так вот, если сумма к оплате 2000 и скидка 10% то в окне К оплате выводиться не 1800, а другая сумма, НО, после сохранения и повторного открытия этого заказа, уже всё ровно.К оплате 1800. Это не критично, но можно как-то исправить?

Проверил, на форме frmApplication ввожу скидку в компонент edDiscount, значение к Оплате в компоненте edPayment меняется сразу.
Или я не правильно понял?

kovalenko wrote:

И ещё вопрос, при переходе в форму посредство кнопки Показать запись из Грида другой формы, у меня показывается конкретная запись, срабатывает фильтр. В том-же случае но при использовании кнопки Показать форму, у меня соответственно после перехода на новую форму, показываются все записи. Вопрос, при использовании функции Показать запись можно-ли в новой форме сбрасывать все фильтры для просмотра всех остальных записей? Можно конечно ручками отключать все параметры фильтрации, но может есть какой-либо вариант со скриптами и использовании отдельной кнопки, что-то вроде «Сбросить все фильтры поиска»?

Пример, как очистить компоненты

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.Edit1.Clear;
    Form1.Memo1.Clear;
    Form1.CheckBox1.State := cbGrayed;
    Form1.ComboBox1.dbItemID := -1;
    Form1.DateTimePicker1.Checked := False;
end;

С подсчётом разобрался, спасибо.
Как я понял (касаемо скрипта очистки) мне надо в данный скрипт загнать все мои поля, которые используются в открываемой форме  для поиска?

надо идти вперёд….

12 Reply by DriveSoft 2017-04-09 18:11:31

  • DriveSoft
  • DriveSoft
  • Administrator
  • Offline
  • Registered: 2014-02-14
  • Posts: 10,294

Re: Ошибка » is not a valid floating point value

С подсчётом разобрался, спасибо. 
Как я понял (касаемо скрипта очистки) мне надо в данный скрипт загнать все мои поля, которые используются в открываемой форме  для поиска?

Да, только не поля, а компоненты.

Dmitry.

Posts: 12

Pages 1

You must login or register to post a reply

Понравилась статья? Поделить с друзьями:
  • Is not a valid date как исправить
  • Is not a function javascript как исправить
  • Is not a debian format archive как исправить
  • Is not a block device ошибка монтирования
  • Is mf03 5 ошибка при удалении