Problema de insert em banco oracle com float

Pessoal,

estou com o seguinte problema:

Trecho do log
Iniciando o cadastro de uma nova tarifa:
46313162;A;TZ;B;.0000001;1;-1

Houve um erro no cadastro de uma nova tarifa!
ORA-01722: invalid number

o problema esta ao inserir o valor .0000001 no banco de dados (a coluna é number(30,18))

Codigo

[code]try{

              v_text=v_id_plano+";"+
                       vobj_mc.getVdes()+";"+
                       vobj_mc.getVshdes()+";"+
                       vobj_mc.getVdscplano()+";"+
                       vobj_mc.getVpricevalue()+";"+
                       vobj_mc.getVscalefactor()+";"+
                       vobj_mc.getVumcode();
              
              log.info("Iniciando o cadastro de uma nova tarifa:\n"+v_text);
              
              v_sql="insert into rates (plan_uid,effective_date,short_desc,loaded_date,umcode,description,scalefactor,price_value) "+
                      "values (?,trunc(sysdate),?,trunc(sysdate),?,?,?,?)";
              
              //monta o Statement
              this.stmt_i = conn.prepareStatement(v_sql);

              this.stmt_i.setInt(1, v_id);
              this.stmt_i.setString(2, vobj_mc.getVshdes().replaceAll("-1", "NULL"));
              this.stmt_i.setString(3, vobj_mc.getVumcode().replaceAll("-1", "NULL"));
              this.stmt_i.setString(4, vobj_mc.getVdes().replaceAll("-1", "NULL"));
              this.stmt_i.setFloat(5, Float.parseFloat(vobj_mc.getVscalefactor().replaceAll("-1", "0")));
              this.stmt_i.setFloat(6, Float.parseFloat(vobj_mc.getVpricevalue().replaceAll("-1", "0")));

              this.stmt_i.executeUpdate();
              
              conn.commit();

              log.info("Cadastro realizado com sucesso!");
              
              return true;

        }[/code]

Se realizar o SQL abaixo, diretamente no banco de dados da certo

insert into rates (plan_uid, effective_date, short_desc, loaded_date, umcode, description, scalefactor, price_value) values (46313162, trunc(sysdate), 'TZ', trunc(sysdate), NULL, 'TZ', 1, .0000001);

valeu