View all numbers with 2 decimal places.

Hi all

We have a requirement in our code where we want all numbers must be displayed to 2 decimal places.

For example: If a number is 21.234 then it should be displayed as 21.23
If a number is 21.289 then it should be displayed as 21,28
If a number is 21 so it should be displayed as 21.00

Can someone help me please how do in a SQL query.

Kind regards
Shruti

Hi, Shruti,

This shows a couple of things you can do:

COLUMN     trnc     FORMAT     999999.99

WITH     got_x     AS
(
     SELECT     empno / 1000     AS x
     FROM     scott.emp
)
SELECT     x
,     TO_CHAR (x,            '999999.99')     AS tc
,     TO_CHAR (TRUNC (x, 2), '999999.99')     AS trnc_tc
,     TRUNC (x, 2)                              AS trnc
FROM     got_x
;

Output:

`        X TC         TRNC_TC          TRNC
---------- ---------- ---------- ----------
     7.369       7.37       7.36       7.36
     7.499       7.50       7.49       7.49
     7.521       7.52       7.52       7.52
     7.566       7.57       7.56       7.56
     7.654       7.65       7.65       7.65
     7.698       7.70       7.69       7.69
     7.782       7.78       7.78       7.78
     7.788       7.79       7.78       7.78
     7.839       7.84       7.83       7.83
     7.844       7.84       7.84       7.84
     7.876       7.88       7.87       7.87
       7.9       7.90       7.90       7.90
     7.902       7.90       7.90       7.90
     7.934       7.93       7.93       7.93

Column x is the number, such as SQL * more it displays by default. Note there is as many digits after the decimal point are needed.
TC column shows how TO_CHAR can put in shape the number with exactly 2 digits after the decimal point. This automatically rounds the number nearest multiple de.01, so on the first line (for example) 7.369 gets displayed as 7.37.

user11272043 wrote:
... If a number is 21.289 then it should be displayed as 21,28

You (apparently) still want the number rounded to 0, then the tc column isn't quite what you want.
Column trnc_tc is exactly what you asked for, with the number rounded to 0 (when a rouning is possible) and 2 digits after the decimal point.
TC column is also exactly what you asked, but he uses the language SQL * Plus formatting rather than SQL. In addition, TRNC column is a NUMBER, while the column trnc_tc is a VARCHAR2, because TO_CHAR, as its name implies, returns a VARCHAR2.

SQL * more order

SET   NUMFORMAT  999999.99

change the default format for all the number of columns. If you use it, you can ignore it for individual columns using TO_CHAR (since it returns a VARCHAR2, the FORMATNUM does not apply), or an order of the COLUMN. Also, if you use the VALUE FORMATNUM 999999.99, you must still explicitly TRUNC each number, otherwise 21.289 will come out as 21.29, 21.28. not.

Tags: Database

Similar Questions

  • Display Total table with 3 decimal places

    Hi people,

    I wanted to display table Total for a column in the table with 3 Decimals.I have used the code below to set to 3 decimal places, but his does not work.

    In the application process:

    Formatter formatter = new OADecimalValidater ("#, ##0.000;(#,##0.000)","#, ##0.000;(#,##0.000)");

    OAAdvancedTableBean expTable = (OAAdvancedTableBean) webBean.findIndexedChildRecursive ("ExpenseDtlsRN");

    If (expTable! = null)
    {
    OATableFooterBean footerBean = (OATableFooterBean) expTable.getFooter ();
    System.out.println ("footerBean:" + footerBean);
    If (footerBean! = null)
    {
    OATotalRowBean totalRowBean = (OATotalRowBean) footerBean.getTotal ();
    System.out.println ("Formattotal:" + totalRowBean);

    totalRowBean.setAttributeValue (ON_SUBMIT_VALIDATER_ATTR, trainer);

    }
    }

    Please help me I need very urgent.

    Hi people,

    I found the solution

    Formatter formatter = new OADecimalValidater ("#, ##0.000;(#,##0.000)","#, ##0.000;(#,##0.000)");

        OAColumnBean ocb = (OAColumnBean) webBean.findChildRecursive ("column29816");
        ocb.setAttributeValue (ON_SUBMIT_VALIDATER_ATTR, formatter);

    It worked for me

  • How to tour calculations with two decimal places (scaling of the form)

    Hello

    I created an order form where customers enter the amount of product that they want to order and the form shows the total amount payable (including transport and sales tax). According to the user input, the amount total resulting sometimes contains more than two decimal places. How do I turn calculations to two decimal places? Is it possible to do this form on the scale?

    I'm new to using Acrobat for calculations. Any help would be greatly appreciated! Thank you...

    This should be:

    Event.Value = util.printf ("%.2f", event.value);

  • budgeted units with 2 decimal places.

    Is there a way to show unit budget up to 2 decimal places, normally when assign us values to automatically round of P6v7 decimal values.

    Go to Edition-> preferences-> units of time user-> in Format of the units, select decimal 2 drop down...

  • View all numbers preceded by zero

    Hi all

    We have a requirement in which we want to display all decimal numbers prefixed with zeroes.

    For example. If we have a number of 0.18, and then writing the data in a flat file, it is converted en.18, we want to be written as 0.18 in the flat file as well.

    Guidance in this regard will be really useful.

    Kind regards
    Shruti

    Hi, Shruti,

    TO_CHAR will display a number in the format that you want.
    For example:

    SELECT     TO_CHAR (.2, '99999990.00')     AS t_c
    FROM     dual;
    

    Output:

    T_C
    ------------
            0.20
    

    For more information, see the manual of the SQL language
    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/functions189.htm#i79330

  • Digital formatting with Variable decimal places

    Acrobat 9 Pro, Windows XP

    I have created a form that has a number of text box form fields that must be numeric only by the applicant of the form. However, for any field data of this type, the number of digits that can be entered can vary from 0 to 3 and the applicant wants all decimal unnecessary to appear in the final output (for example, an entry "1.2" does not appear as "1,200"). The standard number formatting properties always show all decimals, so I know that it is not this way. No calculations will be made with one of these entries - the applicant form is simply enter data and then printing to make it readable for the end user.

    I know that the following line of JavaScript in the hit limit the digital input only Custom property, but how do I change the syntax to allow a decimal writing:

    Event.RC = (! event.change | / ^ \d$/.test(event.change))

    I probably also need a script to format for decimals, but I don't know where to look in the JavaScript for Acrobat QAnywhere or the JavaScript reference DND.

    Thanks in advance for any help.

    OK, here's a link to an example: https://workspaces.acrobat.com/?d=Xf5mboqmkpf-zRxB9MVAJw

    The code that is called in Format typing of the text events field and is in a JavaScript at the level of the document named "format". Post again if you have any questions.

  • I have a basic calculation, but I can't figure out how to make the total tower with two decimal places

    Here is the code I use. I looked everywhere, but I couldn't find answers on how to round specific numbers, not total String.

    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

    gccalculate.addEventListener (TouchEvent.TOUCH_TAP, fl_TapHandler_21);

    function fl_TapHandler_21(event:TouchEvent):void

    {

    var a: number = Number (input1.text) * Number (input2.text) *.01 * Number (input3.text).

    total.set_Text = String (a);

    }

    use toFixed():

    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

    gccalculate.addEventListener (TouchEvent.TOUCH_TAP, fl_TapHandler_21);

    function fl_TapHandler_21(event:TouchEvent):void

    {

    var a: number = Number (input1.text) * Number (input2.text) *.01 * Number (input3.text).

    total.set_Text = a.toFixed (2);

    }

  • channel search and move decimal places

    Hello

    I'm writing the code looking for a fractional string in an array and convert MV V in order to be properly compared to the other fractional numbers of string in the table.

    I have a chart that displays x iterations each with a column of minimum and maximum, including several types of decimal strings (negative/positive with several decimal places) each end with mV and V (example of a string:-725.543mV).

    Then, I divided the table in columns that contain the minimum and maximum values for each iteration. I want to compare the minimum values for each iteration and find the minimum, and do the same thing with the maximum values.

    Unfortunately, the way that I do, when I convert a fractional string numbering it removes label the unit V or mV but does not convert the number of mV V. so he compares - 725.543mV with - 52.334V as - 725.543 &-52.334, declaring the minimum value mV. I need the program to recognize that mV is less than V, or search in each table for the values marked with mV and move the decimal place is to the standard format of V.

    The unit label is actually a part of the string and not the screen (as you can see in the code that I have attached) and I understand that it is a little tricky in the way I need to do. But it's a dumbed down piece of code that I have possibly fit in my largest program that reads the values and their units of several different types of oscilloscopes. The laid out the values as strings as they appear on the screen and don't make the difference between mV and V unless they are asked for units that the tags right on the end of the output string.

    I'm sorry for the great post. SO to sum up, I need to find a table to ensure that all values have the same units, if they are not I need to convert each value of the unit appropriate, then output the max and min to the resulting table. my code is attached. Thank you for your help.

  • How to make the calculation script to show 2 decimal places and stop rounding down to integers?

    Hello. First of all, thank you to those of you who have helped me create an interactive PDF file last year that worked perfectly if only integers are entered. This year, my client wants to show two decimal places in the calculations, and I'm back in this forum hoping to find the same expertise to make it happen.

    My form includes 43 fields for various monthly expenses. The sign of dollar for each field is part of the content of the form, not part of the scope of formatting. Users enter values directly in these fields, and the fields are formatted to display two decimal places. Each of these includes a the following validation script:

    Event.RC =! (event.value & & + event.value < 0);


    To the right of each of these fees, the fields are yes/no boxes ( expense Typecalled) that answer the question, "is this essential expense? The value of exports for Yes's 'essential', and the value of exports is "discretionary".


    A value entered in all areas of expenditure is directed to the field Total expenses by checking Yes or field Total discretionary spending by clicking No. two of these total fields are formatted to display two decimal places. In addition to long calculation scripts, the two totals fields include this custom validation script:

    If (event.value == "0") {event.value = util.printx ("", event.value)}

    Here's the problem: when values with two decimal places are entered in any area of expenditure, the calculation in two fields of total script rounded to the whole number closest. When 10.99 is entered in a field of expenditure and the Yes checkbox is checked, the value 10.00 is displayed in the field Total expenses . I want to display 10.99.

    For testing purposes, I inserted a new text field and did a simple calculation in choosing the fields of the somme and the values displayed correctly. The problem is definitely with the script in the two fields in total .


    I can drop the scripts of math here, but they are long and I'm not sure what the Protocol is super-long positions. I could also download the file, but I never did it and will need to understand this.

    Thank you for taking the time to read this. If you can help me, very well!

    To explicitly convert the field values for numbers, do something like this instead:

    var expense0 = + getField('monthly$.0').value,

    depenses1 = + getField('monthly$.1').value,

    etc.

  • Generate a random number with a decimal point

    I searched all over the internet and cannot find how to generate a random number that had a decimal.

    I'm trying to randomly generate numbers between 12.0 and 13.0.

    Here is my code... I know its bad because of Math.round and Math.random, but I can't seem to find something that deals with a decimal...

    addEventListener (Event.ENTER_FRAME, fl_EnterFrameHandler_1);

    function fl_EnterFrameHandler_1(event:Event):void
    {
    Volt.Text = Math.round (Math.random () * (1) + 12) m:System.NET.SocketAddress.ToString ();
    }

    Any suggestions?

    -Pat

    Try this,

    addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler_1);
    
    function fl_EnterFrameHandler_1(event:Event):void
    {
    
         var rndNum:Number = int(Math.random()*10)/10; // Generate random num with 1 decimal place
         var newVal:Number = newVal + 12;
         volt.text = newVal.toString();
    }
    

    If you want 2 decimal places then replace the 10 per 100.

  • Composition of the phone numbers with pauses and extensions?

    With the Pre, is it possible to insert pauses and extensions in phone numbers in your contacts list? And have the phone to dial them all at once when you compose?  What to do to have these numbers in your calendar for an event such as a conference call?  I would like to simply touch the number to the event and do all numbers with pauses and extensions to put me in the call.

    To insert a two-second pause in the dialing sequence, enter a T where you want than the break to appear. To include a stop in the numbering sequence, enter a P where you want to stop to appear. to call the next set of numbers after the stop, press the screen.

  • How can I configure my calculator to round the number to 2 decimal places

    Can someone please help me get my calculator to view my answer to 2 decimal places

    Hello

    The calculator (calc.exe) does not have this feature.

    You can use any third party software that can support the feature.

    WARNING: Using third-party software, including hardware drivers can cause serious problems that may prevent your computer from starting properly. Microsoft cannot guarantee that problems resulting from the use of third-party software can be solved. Software using third party is at your own risk.

    I hope that helps!

  • Tour of metric to two decimal places by using [math]: tour

    I use the following psobject to extract performance data, but I have around two of the measures with two decimal places. Usually, I would use [math]: round ($var, 2) but I do not know how to integrate this into the code and settings, I need are AvgMem and AvgCPU.

    $groups | % {

    New-object PSObject-property @ {}

    'TimeIndex' = $_. Group [0]. TimeStamp

    "AvgMem" = $_. Group | where {$_.} MetricId - eq "mem.usage.average"} | Measure-object-property value - average | Select - ExpandProperty average

    "AvgCPU" = $_. Group | where {$_.} MetricId - eq "cpu.usage.average"} | Measure-object-property value - average | Select - ExpandProperty average

    'TotalMemory' = $TotalMemory.Split(".") | Select - index 0

    'TotalCPU' = ((Get-cluster_$cluster_|_get-vmhost_|_%_{$_}_|_measure-object-property_cputotalmhz-sum).sum)

    "Cluster" = $cluster

    'Data center' = $DC

    "vCenter' = $vcenter
    "Home" = $VMSummary.Hostname

    }

    }

    Any help is appreciated

    Thanks in advance

    Do you have one loan try like this

    $groups | % {

    New-object PSObject-property @ {}

    'TimeIndex' = $_. Group [0]. TimeStamp

    "AvgMem" = [math]: Round (($_.)) Group | where {$_.} MetricId - eq "mem.usage.average"} | Measure-object-property value - average | Select average - ExpandProperty), 2)

    "AvgCPU" = [math]: Round (($_.)) Group | where {$_.} MetricId - eq "cpu.usage.average"} | Measure-object-property value - average | Select average - ExpandProperty), 2)

    'TotalMemory' = $TotalMemory.Split(".") | Select - index 0

    'TotalCPU' = ((Get-cluster_$cluster_|_get-vmhost_|_%_{$_}_|_measure-object-property_cputotalmhz-sum).sum)

    "Cluster" = $cluster

    'Data center' = $DC

    "vCenter' = $vcenter

    "Home" = $VMSummary.Hostname

    }

    }

  • External table. How to load numbers (scientific and decimal notation format)

    Hi all, I need to load within a records in the external table that contain 7 fields. The last field is called AMOUNT and he has represented in some documents in decimal, in other documents in the format of scientific, notation for example, below:

    CY001_STATU; 2009; Jan; 11220020GR;' 03900; CYZ900; -9, 99999999839929e-03
    CY001_STATU; 2009; Jan; 11200100;' 60800; CYZ900; 41380,77

    The external table script is the following:

    CREATE TABLE HYP_DATA
    (
    COUNTRY VARCHAR2 (50 BYTE)
    YEAR VARCHAR2 (20 BYTE).
    PERIOD VARCHAR2 (20 BYTE).
    ACCOUNT VARCHAR2 (50 BYTE),
    VARCHAR2 (20 BYTE) DEPT,
    ACTIVITY_LOC VARCHAR2 (20 BYTE),
    AMOUNT VARCHAR2 (50 BYTE)
    )
    EXTERNAL ORGANIZATION
    (TYPE ORACLE_LOADER
    THE DEFAULT DIRECTORY HYP_DATA_DIR
    ACCESS SETTINGS
    (RECORDS DELIMITED BY NEWLINE
    BADFILE ' HYP_BAD_DIR': ' HYP_LOAD.bad '.
    DISCARDFILE ' HYP_DISCARD_DIR': ' HYP_LOAD.dsc '.
    LOGFILE ' HYP_LOG_DIR': ' HYP_LOAD.log '.
    SKIP 0
    FIELDS TERMINATED BY '; '.
    MISSING FIELD VALUES ARE NULL
    REJECT ROWS WITH ALL FIELDS ARE NULL
    (
    Tank of 'COUNTRY ', he said.
    'YEAR' tank,.
    Chariot of the "PERIOD."
    Char 'ACCOUNT ',.
    'DEPT' tank,
    "ACTIVITY_LOC," tank
    Char 'AMOUNT. '
    )
    )
    LOCATION (HYP_DATA_DIR: 'Total.txt')
    )
    REJECT LIMIT UNLIMITED
    NOPARALLEL
    NOMONITORING;

    If, for the field AMOUNT, I use VARCHAR (see above) data type, the table is loaded but I have some records rejected, and all these folders contain the AMOUNT in the field with scientific as notation:

    CY001_STATU; 2009; Jan; 11220020GR;' 03900; CYZ900; -9, 99999999839929e-03
    CY001_STATU; 2009; Feb; 11220020GR;' 03900; CYZ900; -9, 99999999839929e-03
    CY001_STATU; 2009; Mar; 11220020GR;' 03900; CYZ900; -9, 99999999839929e-03
    CY001_STATU; 2009; Dec; 11220020GR;' 03900; CYZ900; -9, 99999999839929e-03

    All records with a decimal NUMBER are loaded correctly.

    So my problem is that I NEED to load all the records (with the comma and the scientific notation format) together (without the rejected records), but I do not know what data type should I use for the field AMOUNT...

    Someone has an idea?
    Any help would be appreciated

    Thanks in advance

    Alex

    @OP,
    What version of Oracle are you using?
    Just Cut the dough of your script and example woked FINE for me.

    However my equation is... An external table will all LOAD data or not at all. How did you validate/conclude that...
    I have a few records rejected, and all these folders contain the last field AMOUNT with scientific notation

    select * from v$version where rownum <2;
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    
    select * from mydata;
    CY001_STATU     2009     Jan     11220020GR     '03900     CYZ900     -9,99999999839929e-03
    CY001_STATU     2009     Feb     11220020GR     '03900     CYZ900     -9,99999999839929e-03
    CY001_STATU     2009     Jan     11220020GR     '03900     CYZ900     -9,99999999839929e-03
    CY001_STATU     2009     Jan     11200100     '60800     CYZ900     41380,77
    CY001_STATU     2009     Mar     11220020GR     '03900     CYZ900     -9,99999999839929e-03
    CY001_STATU     2009     Dec     11220020GR     '03900     CYZ900     -9,99999999839929e-03
    CY001_STATU     2009     Jan     11220020GR     '03900     CYZ900     -9,99999999839929e-03
    CY001_STATU     2009     Jan     11200100     '60800     CYZ900     41380,77
    

    Table MYDATA script is...

    drop table mydata;
    CREATE TABLE mydata
    (
    COUNTRY VARCHAR2(50 BYTE),
    YEAR VARCHAR2(20 BYTE),
    PERIOD VARCHAR2(20 BYTE),
    ACCOUNT VARCHAR2(50 BYTE),
    DEPT VARCHAR2(20 BYTE),
    ACTIVITY_LOC VARCHAR2(20 BYTE),
    AMOUNT VARCHAR2(50 BYTE)
    )
    ORGANIZATION EXTERNAL
    ( TYPE ORACLE_LOADER
    DEFAULT DIRECTORY IN_DIR
    ACCESS PARAMETERS
    ( RECORDS DELIMITED BY NEWLINE
    BADFILE 'IN_DIR':'HYP_LOAD.bad'
    DISCARDFILE 'IN_DIR':'HYP_LOAD.dsc'
    LOGFILE 'IN_DIR':'HYP_LOAD.log'
    SKIP 0
    FIELDS TERMINATED BY ";"
    MISSING FIELD VALUES ARE NULL
    REJECT ROWS WITH ALL NULL FIELDS
    (
    "COUNTRY" Char,
    "YEAR" Char,
    "PERIOD" Char,
    "ACCOUNT" Char,
    "DEPT" Char,
    "ACTIVITY_LOC" Char,
    "AMOUNT" Char
    )
    )
    LOCATION (IN_DIR:'total.txt')
    )
    REJECT LIMIT UNLIMITED
    NOPARALLEL
    NOMONITORING;
    

    VR,
    Sudhakar B.

  • Query to find records with more than 2 decimal places.

    I have written the below query to find records with more than 2 decimal places, but it is returning records with decimal places 1 & 2. 
    The datatype of the AMT column is NUMBER (without any precision).
    
    SELECT amt  FROM amount_table
     WHERE substr(amt, instr(amt, '.')) LIKE '.%'
           AND length(substr(amt, instr(amt, '.') + 1)) > 2
    Output:-

    AMT

    * 41591.1*
    * 275684.82*
    * 64491.59*
    * 3320.01*
    * 6273.68*
    * 27814.18*
    * 30326.79*
    131.8413635
    162.5352898
    208.5203816
    8863.314632
    22551.27856
    74.716992
    890.0158441
    2622.299682
    831.6683841
    * 1743.14*
    2328.195877
    3132.453438
    5159.827334
    3.236234727
    37.784
    Thanks

    Hello

    user1585440 wrote:

    when i inserted fee_amt as 41591.0999999999  it is displayed as 41591.1 in the output i.e,
    
    insert into amount_table (line_number,fee_amt) values (100,41591.0999999999);
    
    select fee_amt from amount_table  where line_number = 100. this query shows the output as below
    
    fee_amt
    
    41591.1
    
    The fee_amt column has number as datatype (without precision)
    
    Why it is automatically shown rounded off as 41591.1? 
    

    Published by: user1585440 on December 28, 2010 04:50

    You use SQL * more your front end?

    SQL * Plus has a fixed width to display all columns. The default for numbers is 10 characters. If necessary, SQL * Plus will be round a number or the use of scientific notation, to represent the number of the expected number of characters.
    You can use the SQL * more "SET NUMLARGEUR" to change the default view for all the numbers of orders, or "COLUMN" to set a sepcific format in an individual column.
    If you explicitly convert your channel numbers in a query, SQL * Plus adjusts the column width to whatever is needed. For example

    SELECT  TO_CHAR (fee_amt, 'TM')     AS fee_amt_d
    

    "TM" is the default format; You can call TO_CHAR with a single argument, if you prefer.

Maybe you are looking for