create or replace procedure test
(
  Dynamic        in VARCHAR2,
  Degree         in VARCHAR2,
  Fee            in VARCHAR2,
  Margin         in VARCHAR2,
  result           out VARCHAR2           --返回结果
)
AsoutDynamic    number(12,2);
jiage             VARCHAR2(40);
outDegree        VARCHAR2(40);
outFee        number(12,2);
outMargin        number(12,1);
FixedoutDynamic  VARCHAR2(40);
FixedoutDegree   VARCHAR2(40);
FixedoutFee      VARCHAR2(40);
FixedoutMargin   VARCHAR2(40);
FixedPercent      VARCHAR2(40);
beginselect cast(Dynamic as number(10,2)) into result from dual;
select cast(Degree as number(18,2)) into outDegree from dual;
select cast(Fee as number(18,2)) into outFee from dual;
select cast(Margin as number(18,2)) into outMargin from dual;
--拼写返回数据串
result:=result||outDynamic||'~';
result:=result||FixedoutDegree||'';
result:=result||FixedoutFee||'';
result:=result||FixedoutMargin||'';
result:=result||FixedPercent||'';--异常情况处理   EXCEPTION
     WHEN OTHERS THEN       result := '1';
       ROLLBACK;  end  test ;如上存储过程,各个依次输入的数据项为933803.0001;0.2587;0.00;241613.5070想要返回的结果为933803.00~26~0.00~241613.51。但目前返回的结果为933803~.26~0~241613.5。该如何修改??求救!!!