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.

Tags: Acrobat

Similar Questions

  • 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.

  • 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

  • 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...

  • 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);

  • 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.

  • Deliver the result rounded to 2 decimal places.

    Good day to all,

    I currently have a script format in order to get the average of 10 fields in my form that also ignores the empty fields. Here is my current script:

    Initialize variables

    var num = 0;

    var sum = 0;

    Check input fields

    for (var i = 1; i < 10; i ++) {}

    var f = getField ("Assesment_Rating" + i);

    If {(f.valueAsString)

    increment the counter to non-empty field

    NUM ++;

    Add the value of the running total field

    sum += + f.value;

    }

    }

    Calculate the average

    If {(num)

    Event.Value = sum / num;

    } else {}

    If the fields are empty, so put to white

    Event.Value = "";

    }

    He is currently working if I have a total of 1.4444444444444, this is what is displayed. I tried a few functions of Math.Round who give me "1.5" as a result that is not correct. I'm still learning so I could try a Math.Round function in the bad part of my code, but can not get the result I need.

    Thank you in advance for your help!

    This script should be a personalized calculation script that sets the value of the field. You can then set the type of number format and two decimal places.

  • Report - change of Digital Format

    Dear friends

    Based on the unit of MEASURE, I want the Qty format should change to ex

    If UOM = PCS THEN QTY SHOULD BE ROUNDUP
    IF UOM = KGS AMOUNT SHOULD BE WITH 2 DECIMAL PLACES.

    Please suggest how to set up the report.

    Sandy

    Hello
    There are two ways to accomplish this requirement.

    1.
    Create the formula column (say CF_1) in the same group of data model where the amount and use of the Datatype as NUMBER property and use the code inside this column formula like this...

    function CF_1Formula return Number is
      vRetVal NUMBER;
    begin
      IF :UOM='PCS' THEN
        vRetVal:=ROUND(:QTY,2);
      ELSE
        vRetVal:=ROUND(:QTY);
      END IF;
       RETURN vRetVal;
    end;
    

    And in the report where you use field as source using the CF_1 as a source it will work as you requested.

    2.
    In the layout editor where the field exists. Click the field and call the PL/SQL Editor by pressing F11 on the keyboard and we code inside like that...

    begin
      IF :UOM='PCS' THEN
        SRW.SET_FIELD(0,ROUND(:QTY,2));
      ELSE
        SRW.SET_FIELD(0,ROUND(:QTY));
      END IF;
      RETURN TRUE;
    end;
    

    -Clément

  • 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

    }

    }

  • 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.

  • 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.

  • Need help on query with decimal places and trailing 0

    Community of Oracle I need help in the following situations:

    I received the following query:
    SELECT (SUM ("VALUE1") COUNT ("VALUE2"))
    FROM sometable;

    This returns the following results:
    200
    222,5

    I want to display as 222.50 222,5 value so I tried ROUND(value,2) but then came to the conclusion that the tour will not show drags me 0.
    So now I tried to_char(value,'9999DD00') and of course he's back 200.00 both 222.50.

    Now how to make it conditional so when a number has no decimal place it shows the whole number and when it has a decimal, it shows it in the format to_char(value,'9999DD00')?

    I hope I have made my situation and question correctly and I hope a solution.

    P. S.
    I need to appear like that since it is an average of the prices of the products

    Published by: Jnijman on July 3, 2010 13:06

    You can use CASES and INSTR:

    SQL> with t as ( -- generating sample data:
      2  select 200 col from dual union
      3  select 222.5 from dual
      4  )
      5  --
      6  -- actual query:
      7  --
      8  select col
      9  ,      case
     10           when instr(col, ',') > 0
     11           then to_char(col, '999d00')
     12           else to_char(col, '999' )
     13         end formatted_col
     14  from   t;
    
           COL FORMATT
    ---------- -------
           200  200
         222,5  222,50
    
  • Format of number to two decimal places

    Hi all

    I tried to find a similar question on OTN position but were not very successful. Found [this: http://forums.oracle.com/forums/thread.jspa?messageID=4231352 & #4231352], but this isn't the right solution for me.

    I want to convert a number (to two decimal places) to a string, but keep the trailing zeros. The number can be of any length.

    So, for example

    Number String          
    1234.5 1234.50
    323213.1 323213.10
    9876.23 9876.23

    Using a mask of format with to_char function does not work for me because the results are recorded in a text using UTL_FILE file and I don't want any white space.

    For example

    Select to_char (1234.40, '9999999.99') of double
    TO_CHAR (1232.70,99999999.99)
    ----------------------------
    1232.70

    As you can see the to_char doesn't work only partially. It keeps the two decimals and add a zero, but it also hads of white space at the front of the number. I could change the format mask to "9999.99', but then if the number is 12345.12 or 123.12 it wouldn't work!

    Thank you!

    Use the format fm modifier:

    Select to_char(1234.40, 'fm9999999.90') from dual;
    
    TO_CHAR(1234.40,'FM9999999.90')
    -------------------------------
    1234.40   
    

Maybe you are looking for