TDaMemtable filter problem

when filtering on a float field, floattostr for a value will put the decimal seperator as defined in locale settings
now we use , as decimal seperator
but TDaMemtable generates a variant conversion error when the filter contains ‘myfield=14,5’
TDaCDS does not have that problem
i worked around it by replacing , with .
but i guess it should take into account the locale settings?

Hi,

it takes into account the local settings.
try to change your filter as myfield="14,5".

unfortunately, filter’s parser uses . for detection of real values.
it cannot be changed otherwise it won’t detect properly members of arrays in filters like

fld1 in [1.1,1.2,1.3]

so you may use this rule for filters:

  • string values use the locale settings, i.e. "1,1"
  • real values use . (dot), i.e. 1.1
1 Like

ok