1: PACKAGE BODY QP_NUMBER as
2: /* $Header: QPNUMBRB.pls 120.0.12020000.2 2012/09/25 07:20:04 dnema ship $ */
3:
4: C_FORMAT constant varchar2(100) := 'FM999999999999999999999.9999999999999999999999999999999999999999';
5:
43: pi number := 3.1415;
44: my_char varchar2(20);
45: begin
46: /*
47: DBMS_OUTPUT.PUT_LINE('Decimal separator is '||qp_number.decimal_char);
48: DBMS_OUTPUT.PUT_LINE('Group separator is '||qp_number.group_separator);
49: DBMS_OUTPUT.PUT_LINE('Canonical mask is '||qp_number.canonical_mask);
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
44: my_char varchar2(20);
45: begin
46: /*
47: DBMS_OUTPUT.PUT_LINE('Decimal separator is '||qp_number.decimal_char);
48: DBMS_OUTPUT.PUT_LINE('Group separator is '||qp_number.group_separator);
49: DBMS_OUTPUT.PUT_LINE('Canonical mask is '||qp_number.canonical_mask);
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
52: DBMS_OUTPUT.PUT_LINE('and back is '||to_char(qp_number.canonical_to_number('3.14')));
45: begin
46: /*
47: DBMS_OUTPUT.PUT_LINE('Decimal separator is '||qp_number.decimal_char);
48: DBMS_OUTPUT.PUT_LINE('Group separator is '||qp_number.group_separator);
49: DBMS_OUTPUT.PUT_LINE('Canonical mask is '||qp_number.canonical_mask);
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
52: DBMS_OUTPUT.PUT_LINE('and back is '||to_char(qp_number.canonical_to_number('3.14')));
53: DBMS_OUTPUT.PUT_LINE('Canon integer is '||qp_number.number_to_canonical(4));
47: DBMS_OUTPUT.PUT_LINE('Decimal separator is '||qp_number.decimal_char);
48: DBMS_OUTPUT.PUT_LINE('Group separator is '||qp_number.group_separator);
49: DBMS_OUTPUT.PUT_LINE('Canonical mask is '||qp_number.canonical_mask);
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
52: DBMS_OUTPUT.PUT_LINE('and back is '||to_char(qp_number.canonical_to_number('3.14')));
53: DBMS_OUTPUT.PUT_LINE('Canon integer is '||qp_number.number_to_canonical(4));
54: select qp_number.number_to_canonical(pi)
55: into my_char
48: DBMS_OUTPUT.PUT_LINE('Group separator is '||qp_number.group_separator);
49: DBMS_OUTPUT.PUT_LINE('Canonical mask is '||qp_number.canonical_mask);
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
52: DBMS_OUTPUT.PUT_LINE('and back is '||to_char(qp_number.canonical_to_number('3.14')));
53: DBMS_OUTPUT.PUT_LINE('Canon integer is '||qp_number.number_to_canonical(4));
54: select qp_number.number_to_canonical(pi)
55: into my_char
56: from dual;
49: DBMS_OUTPUT.PUT_LINE('Canonical mask is '||qp_number.canonical_mask);
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
52: DBMS_OUTPUT.PUT_LINE('and back is '||to_char(qp_number.canonical_to_number('3.14')));
53: DBMS_OUTPUT.PUT_LINE('Canon integer is '||qp_number.number_to_canonical(4));
54: select qp_number.number_to_canonical(pi)
55: into my_char
56: from dual;
57:
50:
51: DBMS_OUTPUT.PUT_LINE('Canon number is '||qp_number.number_to_canonical(pi));
52: DBMS_OUTPUT.PUT_LINE('and back is '||to_char(qp_number.canonical_to_number('3.14')));
53: DBMS_OUTPUT.PUT_LINE('Canon integer is '||qp_number.number_to_canonical(4));
54: select qp_number.number_to_canonical(pi)
55: into my_char
56: from dual;
57:
58: DBMS_OUTPUT.PUT_LINE('Canon number from SQL is '||my_char);
78: -- OK, this is a bit kludgey, but I can't seem to find any way to access
79: --XS the numeric characters directly.
80: decimal_char := substr(ltrim(to_char(.3,'0D0')),2,1);
81: group_separator := substr(ltrim(to_char(1032,'0G999')),2,1);
82: end QP_NUMBER;