anchor.diff:  io_to_integer(Val,Len,Prec) when is_binary(Val) ->
       io_to_integer(binary_to_list(Val),Len,Prec);
   io_to_integer(Val,Len,Prec) ->
  -    Value = try  list_to_integer(string:join(string:tokens(Val,?THOUSAND_SEP),[]))
  +    ValStr = re:replace(Val, ?THOUSAND_SEP, "", [global, {return, list}]),
  +    Value = try  list_to_integer(ValStr)
           catch _:_ -> 
               try erlang:round(list_to_float(Val))
               catch _:_ ->  
  -                case io_to_term(Val) of
  +                case io_to_term(ValStr) of
                       V when is_integer(V) -> V;
                       V when is_float(V) ->   erlang:round(V);
                       _ ->                    ?ClientErrorNoLogging({"Data conversion format error",{integer,Len,Prec,Val}})
  
positive.code: io_to_decimal(Val,Len,0) ->         %% use fixed point arithmetic with implicit scaling factor
      io_to_integer(Val,Len,0);
  io_to_decimal(Val,Len,Prec) ->
      case string:join(string:tokens(Val,?THOUSAND_SEP),[]) of
          [$-|Positive] -> Sign = [$-];
          Positive -> Sign = []
      end,
  
negative.code:         ?assertEqual({{2012,12,10},{8,44,7}}, io_to_datetime(<<"10.12.12 08:44:07">>)),
          ?assertEqual({{1999,12,10},{8,44,7}}, io_to_datetime(<<"10.12.99 08:44:07">>)),
          ?assertEqual({Date,{0,0,0}}, io_to_datetime(<<"today">>)),
          ?assertEqual(erlang:localtime(), io_to_datetime(<<"sysdate">>)),
          ?assertEqual(erlang:localtime(), io_to_datetime(<<"systime">>)),
          ?assertEqual(erlang:localtime(), io_to_datetime(<<"now">>)),
          ?assertEqual({{1888,8,18},{1,23,59}}, io_to_datetime(<<"18.8.1888 1:23:59">>)),
          ?assertEqual({{1888,8,18},{1,23,59}}, io_to_datetime(<<"1888-08-18 1:23:59">>)),
          ?assertEqual({{2018,8,18},{1,23,59}}, io_to_datetime(<<"18-08-18 1:23:59">>)),
  