Decimal 4 places format

Hi,
i have data in 4 decimal place format in oracle when when it create excel file using UTL_file, it shows only 2 decimal.client want to see in 4 digit always.
i have used following format.
v_cost_pt:= to_char(rec_cpp.cost / rec_cpp.points,'$9990D9999');
it gives
$0.0050
while in excel it shows
$0.00thanks
sp

Sandy310 wrote:
It is fine in Oracle but when UTL_File a file in excel with .csv format.
that file shows only two digits after decimal. Oracle is outputting a CSV with four decimal places
Excel Sheet created by UTL_FILEThe Excel sheet is not created by UTL_FILE, UTL_FILE creates the CSV, the Excel sheet is created by Excel
>
is there way in oracle to show all four decimal place in excel.
This makes no sense. There is a way to show four decimal places in Oracle, you have shown it.
If you want to show four decimal places in Excel you need to format it to show four decimal places in Excel.

Similar Messages

  • Formatting currencies and decimal places

    I'm currently using NumberFormat.getCurrencyInstance() to format numbers as currency. However, one problem I'm having is that I'd like values with no cents to be formatted with no decimal places, and any values with cents to be formatted with the usual 2 decimal places. For example:
    17 would be formatted as $17
    17.45 would be formatted as $17.45
    17.4 would be formatted as $17.40
    The last one is the tricky part--I've tried formatter.setMinimumFractionDigits(0), and this works great for the first two cases. But for the last case, the number gets formatted as $17.4.
    Basically my problem is I want a number to be formatted with zero or two decimal places and nothing in between. Is there an easy way to do this?
    Thanks in advance.

    Otherwise you are likely to find that you are getting .00 due to errors from previous calculations. You are right. Adjusted it to Locale aware
    import java.text.FieldPosition;
    import java.text.NumberFormat;
    import java.text.ParseException;
    import java.text.ParsePosition;
    import java.util.Locale;
    public class SpecialCurrencyFormat extends NumberFormat {
        private static final long serialVersionUID = 1L;
        private final NumberFormat noDecimals;
        private final NumberFormat decimals;
        private final double maxDifference;
        private final double factor;
        public SpecialCurrencyFormat() {
         this(Locale.getDefault());
        public SpecialCurrencyFormat(Locale locale) {
         decimals = NumberFormat.getCurrencyInstance(locale);
         noDecimals = NumberFormat.getCurrencyInstance(locale);
         noDecimals.setMaximumFractionDigits(0);
         maxDifference = Math.pow(10, -decimals.getMaximumFractionDigits()) * .5;
         factor = Math.pow(10, decimals.getMaximumFractionDigits());
        @Override
        public StringBuffer format(double number, StringBuffer toAppendTo,
             FieldPosition pos) {
         double adjustedValue = (Math.round(number * factor)) / factor;
         if ((Math.abs(number - Math.round(number)) < maxDifference)) {
             return noDecimals.format(adjustedValue, toAppendTo, pos);
         } else {
             return decimals.format(adjustedValue, toAppendTo, pos);
        @Override
        public StringBuffer format(long number, StringBuffer toAppendTo,
             FieldPosition pos) {
         return noDecimals.format(number, toAppendTo, pos);
        @Override
        public Number parse(String source, ParsePosition parsePosition) {
         return decimals.parse(source, parsePosition);
        public static void main(String[] args) {
         NumberFormat nf = new SpecialCurrencyFormat(Locale.US);
         double[] values = { 10000, 1000, 100, 10, 1, 10.1, 10.01, 10.001,
              10.002, 10.003, 10.004, 10.005, 10.006, 10.007, 10.008, 10.009,
              10.010 };
         for (double value : values) {
             print(nf, value);
        private static void print(NumberFormat nf, double number) {
         String formatted = nf.format(number);
         try {
             System.out.println(number + "\tas " + formatted + "\tand back "
                  + nf.parse(formatted));
         } catch (ParseException e) {
             e.printStackTrace();
    }The value adjustedValue is needed since NumberFormat doesn't seem to round the value. It just breaks.
    Piet

  • Altering number of decimal places of formatted number

    Using http://java.sun.com/docs/books/tutorial/i18n/format/numberFormat.html I have worked out how to format a number, almost. When I follow the example in this tutorial that shows how format a double, it always rounds it to 3 decimal places. How do I alter the number of decimal places that this formatting procedure outputs? I used the US as the locale and English as the language. I am assuming that if these parameters are chosen, 3 decimal places is the output. Is this assumption correct?

    Look at the next chapter :)
    http://java.sun.com/docs/books/tutorial/i18n/format/decimalFormat.html

  • Formatting decimal places in the X Axis

    I’m having trouble limiting the number of decimal places in my X Axis on a 2 Axis plot.
    I am running a script file (SUD) that sets all the other parameters in the Plot. The “Report “ file is called up and then the script controls the functions.
    This is only a small section of the code. I haven’t found a command to set the Decimal place in the “help” page.
     ie: Call GraphObjOpen("2DAxis1_XAxis1")
        D2AxisXFormat    = " "
        D2AxisXAng       = 0
        D2AxisXRelPos    = "bottom"
        D2AxisXFont      = ""
        D2AxisXSize      = 2
        D2AxisXColor     = "blue"
        D2AxisXColorRGB  = 50266112
        D2AxisXAutoColor = 0
        D2AxisXBold      = 0
        D2AxisXItal      = 0
        D2AxisXUndl      = 0
        D2AxisXStrOut    = 0
        D2AxisXFrame     = 0
      Call GraphObjClose("2DAxis1_XAxis1")
    And:
    When I open the “Curve and Axis Definition” window of the graph on the report page ,and set the “Format:” function to display “d.dd” It seems the script is overwriting the format that I set.
    This is what I have now and would like to display only 2 decimal places in the X Axis. Can you help?
    Thanks!
    SJD
    Solved!
    Go to Solution.
    Attachments:
    X-Axis Decimal places.jpg ‏17 KB

    Thanks Brad for you quick response.
    It kind of worked... I think I might have something else going on. Not sure what though.
    With the changes made in the script you suggested, the X-Axis has changed to two digits but now it displays  " 1.dd "
    Any thoughts where else I might have gone wrong?
    Thanks again
    SJD
    Attachments:
    2013-03-13_151027.JPG ‏12 KB

  • Formatting Numeric Only with Variable Decimal Places

    Acrobat Pro 9, Windows XP
    I'm creating a form that has a number of text box form fields that are to be numeric only per the form requestor. However, for any given field of this type the number of decimal places that can be entered can vary from 0-3 and the requestor does NOT want any unnecessary decimals to appear in the final output (e.g., a "1.2" entry should not appear as "1.200"). The standard number formatting properties always show all the decimal places so I know it's not that route. No calculations will be performed with any of these entries -- the form requestor merely is entering data and then printing it out so that it's legible for the end-user.
    I know that the following line of JavaScript in the Custom Keystroke property limits the entry to numeric only, but how should I tweak the syntax to allow a decimal entry:
         event.rc = (!event.change || /^\d$/.test(event.change))
    I probably also need a script to format for decimal places, but I don't know where to look in the JavaScript for Acrobat API Reference or in the MDN JavaScript Reference.
    Thanks in advance for any assistance.

    Good question. To keep it simple (because there are about 300 form fields in this document), if they choose to add extra decimal zeros, then who am I to argue with their entry. So in your example for a given form field, if they enter "1.200" then I expect that they want "1.200" to display.
    OK, but earlier you said:
    "However, for any given field of this type the number of decimal places that can be entered can vary from 0-3 and the requestor does NOT want any unnecessary decimals to appear in the final output (e.g., a "1.2" entry should not appear as "1.200")."
    This seems inconsistent. Can you clarify? The point is the code and where it's placed depends on this. It could be implemented either as a custom Validate or Format script, in addition to a Keystroke script.

  • Decimal format to 2 decimal places ????

    Hello Everyone,
    I have created a web dynpro application which to display a report depending on the data given by the BAPI. But there is some issue with the numeric data returned by the BAPI.
    For ex - if the BAPI returns 5.00 the value is displayed in the report as 5.
    I want uniform decimal values till 2 decimal places. For example 5 shd come as 5.00, 2.1 shd come as 2.10 etc.
    I searched SDN abt this, and found many threads relating to this.
    I tried using decimal format, creating a simple dictinary type, but using all this what happens is the value basically changes to a string format, this implies that the value is displayed in the table as "left-aligned".
    Where- as we need the decimal numeric values to be right-aligned.
    Any thoughts how to achieve this.
    Please correct me if I have missed out on anything.
    Thanks,
    Samta

    Hi,
    From wat i understood.. u have a attribute coming from BAPI.. which you want to display with two decimal places,,
    In this case.. assuming it is coming with 2 decimal places from the backend..  create a value node.. inside the node which contains the output data. set its carinality to 1..1 .. create a value attribute of type big decimal in it.. or probably string.. if there is an issue in displaying BigDecimal directly..
    map this new attribute to the necessary column in the table..
    BigDecimal value = new BigDecimal("the actual value in string or long").setScale(2);
    assign this to the value attribute created..
    (If alignment is the problem.. set the column 's textview property halign to right.. and layout as block or paragraph.. )
    Regards
    Bharathwaj
    Message was edited by:
            Bharathwaj R

  • GUI download, how to retain format of decimal places

    Hi everyone!
    I have a program that downloads data to excel file using GUI Download. The values of the amount in the ALV display are 11.90, 11.90- which is correct because it has two decimal places. But the problem now occurs in the excel file. The values are now 11.9, 11.9-.
    Do you know of any method that will retain the format of the values when it is already in the excel file.
    The format of my decimal notation is 1,234,567.89.
    Thanks in advance.

    Thank you!
    But I need to have the format of the numbers in the excel the same as the format in the ALV <b>without changing the format of the cells in the excel file</b>. It has to be changed in the program.
    Actually there are also amounts that are being displayed in excel file with 2 decimal places the same as the ALV display. But some of the amounts were changed when it comes to the excel file, and I don't know why this happens.
    Thanks.
    Message was edited by:
            Betsie Camoro

  • Formating decimal places

    What's the preferred way to format a number (which will converted to a string for display) to 2 decimal places?

    var someValue = 1234.567;
    var a = "{%10.2f someValue}";

  • VB: How do i format two decimal places?

    I'm using VB in Visual Studio 2013.
    The professor wants the answers from the textboxes to be displayed with dwo decimal places. 
    all he gave us was the following syntax:
    format (#,#.00)
    however i have no idea how to get this to work as i tried to figure it out on my own and nothing. i would like it to be displayed with the dollar symbol if possible with the comma separators when needed.
    i tried declaring a variable as a string and a double but i kept coming to a dead end. help please. this is the last thing i need to turn this in tomorrow.

    Hi guys,
    I don't know how long is your forum experience. 
    But there is a long time etiquette in the forums, which stands from the first day of newsgroups not to help people with code for homework.
    Do you real think I could not do that?
    Now it took me more time, but probably a wast because your replies.
    Success
    Cor
    Success
    Cor

  • Formatting Strings to two decimal places

    When formatting double amounts to two decimal places, I looked up the procedure online and I have this so far:
         public void calculatePayments()
              double monthlyInterestRate = (Double.parseDouble(interestBox.getText())/12)/100;
              double amountOfLoan = Double.parseDouble(balanceBox.getText());
              double numberOfPayments = Double.parseDouble(yearsBox.getText()) * 12;
              DecimalFormat Currency = new DecimalFormat("0.00");
              double paymentAmount = (amountOfLoan * monthlyInterestRate) / (1 - Math.pow(1/(1 + monthlyInterestRate),numberOfPayments));
              double formattedAmount = Currency.format(paymentAmount);
              String s = Double.toString(paymentAmount);
              tableBox.append(s);
              tableBox.setText("Payment" + "\n" + "Number" + "\n");
              for(int i = 0; i <= numberOfPayments; i++)
                        tableBox.append("" + i + "\n");
    However, I get the following:
    ProgramInterface.java:134: incompatible types
    found : java.lang.String
    required: double
              double formattedAmount = (Currency.format(paymentAmount));
    I'm trying to append the number to a text box (I'm making a loan calculator for my 155 class) Thanks for the help

    String s = Currency.format(paymentAmount);Next time please paste your code between code tags exactly like this:
    &#91;code&#93;
    your code
    &#91;/code&#93;
    You can do that by simply pasting your code in the message area, highlight it and then click on the code button above.
    You may read the [url http://forum.java.sun.com/help.jspa?sec=formatting]Formatting tips for more information.
    Regards

  • Number formatting with either 2 decimal places or none

    Hello,
    I'm using Acrobat 8 in XP and not familiar with Javascript.
    I have some dollar amount fields where I need it to be number formatted, and limited to 2 decimal places but leave the user the ability to enter only an integer.
    ie, go to two decimal places if any of
    > .
    > .0
    > .00
    > .000(...)
    are present but leave it off if none are present.
    I assume I need a custom format script but I've not been able to learn enough to figure it out yet.
    If anyone can give me some code I can edit and paste, that would be great. Any help is appreciated.

    > Have a String as "3.0000000"
    String s = "3.0000000";
    System.out.printf("%.2f", Double.parseDouble(s)); // 3.00
    Formatting - Numbers and Currencies
    ~

  • Rounding to 2 decimal places WITHOUT using any formatting class

    Hello
    I'm trying to round a number (double) to 2 decimal places without using any of the formatting class like (DecimalFormat or Math.Round and BigDecimal). Is it possible to do it by just using typecast?

    OP:
    BigDecimal is not a formatting class. Math.round isn't a class at all.
    Typecasting doesn't really do that sort of thing at all (unless you count dropping fractional components when casting to an integer type).
    double holds values in binary format, so it's basically impossible to round to decimal values meaningfully.
    Chuck:
    I thought that BigDecimal supported arbitrary decimal precision, so one doesn't have to do that sort of thing....?

  • Format to 2 decimal places?

    Hi, i need to display my data in 2 decimal places but now i'm getting results after some calculation (for eg. 2.336224). How can i round it off to 2.34?

    I also agree with Arun and Rajesh,
    When I need to specify the number of decimal points as part of an expression, e.g. ; - Tooltip series properties of a chart.
    I use; -
    =ROUND(Fields!Total.Value,2)
    or
    =FORMAT(Fields!Total.Value,"N")
    I hope this helps someone.
    If you have found any of my posts helpful then please vote them as helpful. Kieran Patrick Wood MCTS BI,MCC, PGD SoftDev (Open), MBCS http://www.innovativebusinessintelligence.com/ http://uk.linkedin.com/in/kieranpatrickwood

  • How to format a number to a correct decimal places

    i wanted to format a number to a correct decimal places say for example
    666.105 t0 666.11 please any body help us

    whether to use NumberFormat or DecimalFormat can u give me example thanks

  • Formatting a Double to 2 decimal places without first converting to String

    Hi,
    Does anyone have any clear idea on how to format a Double directly without first converting it
    to a String.I have just read through DecimalFormat/NumberFormat but I think there might be an easier way.I am also aware of printf(%f) and format(%f),but unfortunately am using Java 1.4 at the moment which does not seem to support them(will upgrade soon).The code I have is as follows:
    public void displayAnalysis ()
           System.out.println ("========================================================================");
           System.out.println ("========================================================================");
           System.out.println ("\nANALYSIS RESULTS FOR FILE " + inputFile + " \n");
           System.out.println ("========================================================================");
           System.out.println ("========================================================================");
           System.out.println ("\nString length: "+ inputText.length());
           System.out.println ("Ratio of printing to non-printing characters: "+ pRatio);
           System.out.println ("Ratio of vowels to consonants: "+ vRatio);
           System.out.println ("");
           System.out.println ("Frequency of vowels as a percentage of number of printing characters;");
           System.out.println ("Percentage of a's ="+ (NumberFormat.format(new DecimalFormat(((double)frequency[0]*100)/printable)))));
           System.out.println ("Percentage of e's ="+ ((double)frequency[1]*100)/printable + "%");
           System.out.println ("Percentage of i's ="+ ((double)frequency[2]*100)/printable + "%");
           System.out.println ("Percentage of o's ="+ ((double)frequency[3]*100)/printable + "%");
           System.out.println ("Percentage of u's ="+ ((double)frequency[4]*100)/printable + "%");
           System.out.println ("Number of whitespace characters were " + whitespace);
           System.out.println ("");
           System.out.println ("========================================================================");
           System.out.println ("========================================================================");
           System.out.println ("");
           System.out.println ("");
       }I would like to display the frequencies to 2 decimal places.As a last resort I will have to alter the code to use DecimalFormat,but I'm hoping someone has a simpler solution.

    Oops,please ignore the line for the first frequency (a's),I was just playing around with trying to use NumberFormat!

Maybe you are looking for