Filtering out commas for DOUBLE

Поиск
Список
Период
Сортировка
От Chris Gamache
Тема Filtering out commas for DOUBLE
Дата
Msg-id 7fbead4f-1375-40b9-8a5b-95d3a1a5e5a5@e23g2000prf.googlegroups.com
обсуждение исходный текст
Ответы Re: Filtering out commas for DOUBLE  (Kris Jurka <books@ejurka.com>)
Список pgsql-jdbc
I was having a problem with JDBC expecting a DOUBLE from a PostgreSQL
function which returnes "money" ... My first inclination was to return
an OTHER, but PgJDBC balks that it expects java.sql.Types=8 (DOUBLE)
but I set it to 1111 (OTHER) ... There was (seemingly) no way around
that.

So, I decided to attack the root of the problem: PostgreSQL is
returning "1,234.00" when it is executing the function that returns
money and JDBC won't budge on it's expectation that it should be
DOUBLE. The comma in the return string is confusing
Double.parseDouble, so I filter out the commas before parseDouble is
called. My hack got me over the hump, but it makes me uneasy to apply
this patch to a codebase that I am not intimately familiar with. Can
you propose a different way around this problem, a more complete
patch, or the blessing that this will not adversely affect the normal
function of the driver?

From org.postgresql.jdbc2.AbstractJdbc2ResultSet:

    public static double toDouble(String s) throws SQLException
    {
        if (s != null)
        {
            try
            {
                s = s.trim();
                s = s.replace(",",""); //filter out the commas
                return Double.parseDouble(s);
            }
            catch (NumberFormatException e)
            {
                throw new PSQLException(GT.tr("Bad value for type
{0} : {1}", new Object[]{"double",s}),

PSQLState.NUMERIC_VALUE_OUT_OF_RANGE);
            }
        }
        return 0;  // SQL NULL
    }

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Kris Jurka
Дата:
Сообщение: Re: A weird error when using pg74.216.jdbc3.jar
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: Filtering out commas for DOUBLE