Get the number of whole digits in BigDecimal

How can I get the integer digit of the Bigdecimal object? I tried to implement a logic using the BigDecimal class intValue() method like below
         BigDecimal bigDecimal = new BigDecimal("1234567890.2147483");
        int integerpart = bigDecimal.intValue();
        int digits = integerpart/10;
        int count = 1;
        while(digits != 0) {
            digits = digits/10;
            count++;
        }

        System.out.println("Number of integer digits : " + count);
But if the value has more then 10-digit intValue() output is incorrect. Any suggestions?

Thanks in advance

You can use the same approach that you already have, the problem is that int is limited to 9 digits. For this example you might have long used instead. However, a better solution is to use BigInteger

BigDecimal bigDecimal = new BigDecimal("-12345678901234567890.2147483");
BigInteger digits = bigDecimal.toBigInteger();
BigInteger ten = BigInteger.valueOf(10);
int count = 0;
do {
    digits = digits.divide(ten);
    count++;
} while (!digits.equals(BigInteger.ZERO));

System.out.println("Number of integer digits : " + count);

prints

Number of integer digits : 20

Note: sound is negative and too big for a long time.

Tags: Java

Similar Questions

  • How can I get the number of rows in the table using Sunopsis API target in ODI 10 g?

    Hi guys,.

    In fact, I want to send an alert message as soon as the interface is run from a package. I've included alert OdiSendMail that sends an email once the interface is running.

    Could someone please tell how to get the number of rows inserted into the table the Sunopsis API target.

    I tried to use < % = odiRef.getNbRows () % >, but this has not worked for me. Since I am a beginner, could you please help out me

    This is my mail to send ODI format

    "The population of data managed to < % = odiRef.getSysDate () % >

    Total of lines in the target table is: < - need an API code-> "


    Kind regards

    Clinton

    Published by: LawrenceClinton on February 25, 2013 20:53

    Hello

    Create the project with details below variable

    Nom_de_variable: Total_Row_Count

    Type of variable: Variable discount

    Definition tab:
    Data type: digital
    Action: No persistent

    Refresh the tab:
    Schema: provide the schema of your repository to work and be

    SELECT log.nb_row
    THE journal of snp_step_log, snp_scen_step step
    WHERE log.nno = step.nno
    AND step.scen_no = (SELECT scen_no FROM snp_scen_step WHERE step_name='<%=odiRef.getPrevStepLog ('STEP_NAME") % > ')
    AND log.sess_no = '< % = odiRef.getSession ("SESS_NO") % >' code at low
    AND step.step_name = ' < % = odiRef.getPrevStepLog ("STEP_NAME") % > '

    Note: add this variable after the stage of interface in your package (after the interface anywhere you can place), you can add this variable before ODISendEmailNotification in your package

    call this varciable * #Total_Row_Count * in the Notification of ODISendEmail

    for example :

    Data has been fulfilled successfully in < % = odiRef.getSysDate () % >
    Total no of lines filled are: * #Total_Row_Count *

    it will work

    cordially,
    Phanikanth

    edited by: Phanikanth on February 28, 2013 01:13

    edited by: Phanikanth on February 28, 2013 01:14

  • I can't get the number 5 and 6 of my key Board that is

    I can't get the number 5 and 6 on my key Board that happen about two hours ago please help me on fixing the problem

    Hello bigarthur, this is what is happening in the different programs that you use on your computer or just in firefox?

  • How to get the number of bits of Windows?

    Hi all

    How can I get the number of bits of Windows, the application of the LV is running on?

    By using the disabled conditional structure, I can get the number of bits of the application (if it is built in BT 32 or 64), but not the number of bits of windows.

    Thank you

    system variable 'PROCESSOR_ARCHITECTURE '?

  • How to get the number of fonts online

    Hi all

    can you give me solution to the following:

    How to get the number of fonts on a line.

    Ex

    BlackBerry Support 'Community' is supported for my career

    in this line, I want to ITALIC for the word 'Community '.

    Font.GetDefault (). Derive from wil give for total line...

    RichTextField does not?

    See this KB article

    http://supportforums.BlackBerry.com/T5/Java-development/format-text-in-a-RichTextField/Ta-p/445038

  • Get the number of elements in the header in GroupDataModel

    Hey everybody!

    I wonder how to get the number of items in each topic in a GroupDataModel. Here's a code, where headerCount would be the number of items in each section:

    ListView {
                dataModel: _app.dataModel
    
                layout: StackListLayout {                    headerMode: ListHeaderMode.Sticky            }
    
                listItemComponents: [
                    ListItemComponent {
                        type: "header"
    
                        Container {
                            Label {                            text: ListItemData + " " + headerCount                        }
                        }
                    },
                    ListItemComponent {
                        type: "item"
    
                        Container {
                            Label {                            text: ListItemData.cardName                        }
                        }
                    }
                ]
            }
    

    Also here is the code of applicationui.cpp, where it defines the datamodel. It's using GroupDataModel.

    void ApplicationUI::initDataModel()
    {
        // Note: The Group Data Model is joining this objects tree as a child (for memory management)
        m_dataModel = new GroupDataModel(this);
        m_dataModel->setSortingKeys(QStringList() << "cardType");
        m_dataModel->setGrouping(ItemGrouping::ByFullValue);
    }
    

    Hope that makes sense. If you have any questions, let me know!

    This will help you

    https://developer.BlackBerry.com/native/reference/Cascades/bb__cascades__GroupDataModel.html#functio...

    Your header looks like this

    ListItemComponent {
        type: "header"
    
        Container {
            id: rootItem
            Label {
                text: ListItemData + " " + rootItem.ListItem.view.dataModel.childCount(rootItem.ListItem.indexPath)
            }
        }
    }
    ..............
    

    It may be useful

  • Get the number of the caller before ringing

    Hello

    I want to get the number of the caller when a new call coming but before the device starts ringing. Is it possible to get? Can someone help me?

    Thank you!

    callIncoming fires before the unit begins to ring. You can use Phone.getActiveCall... to get the number

  • Get the number of files in the folder

    Hi all

    How can we get the number of records present in the file, so that we can make the program to extract the different files in the folder according to the number?

    Thanks in advance,

    Sandeep

    Check the FileConnection API and 'list' methods

  • get the number in the declaration of DBMS

    Hello everyone,

    my friend, I create the following code, but I've always faced a problem to display the result of County all the

    the code is:

    ------------------------------

    I insert a count (*) to get the number of employees

    but he keep get only '1' to the last of the result in the following way:

    DETAILS OF THE EMPLOYEE:

    YJOSEPH5 | YOUSEFJOSEPH | 15 NOVEMBER 15

    HYOUSEF10 | HASSANYOUSEF | 15 NOVEMBER 15

    HYOUSEF17 | HASSANYOUSEF | 15 NOVEMBER 15

    HYOUSEF14 | HASSANYOUSEF | 15 NOVEMBER 15

    HYOUSEF16 | HASSANYOUSEF | 15 NOVEMBER 15

    COUNT: 1

    the code

    ------------------------------------

    DECLARE
    V_USER_ID VARCHAR2 (50);
    NUMBER OF V_EMP_NO;
    V_FIRST_NAME VARCHAR2 (30);
    V_LAST_NAME VARCHAR2 (30);
    DATE OF V_REG_DATE;
    NUMBER OF V_COUNT;
    V_SQL_SATEMENTS VARCHAR2 (1000);
    NCOUNT THE NUMBER;
    CURSOR C IS SELECT USER_ID, EMP_NO, FIRST_NAME, LAST_NAME, REG_DATE, COUNT (*) FROM EMP
    USER_ID, FIRST_NAME, LAST_NAME, EMP_NO, REG_DATE GROUP;
    BEGIN
    OPEN C;
    SELECT COUNT (*) FROM NCOUNT FROM USER_TABLES WHERE TABLE_NAME = 'EMP ';
    IF (NCOUNT < = 0) THEN
    V_SQL_SATEMENTS: =' CREATE TABLE EMP)
    USER_ID VARCHAR2 (40) PRIMARY KEY,.
    NUMBER OF EMP_NO,
    FIRST NAME VARCHAR2 (30),
    VARCHAR2 (30) LAST_NAME,.
    DATE OF REG_DATE)';

    RUN IMMEDIATELY "DROP TABLE EMP;
    IMMEDIATELY RUN V_SQL_SATEMENTS;
    END IF;

    SELECT NVL (MAX (EMP_NO), 0) + 1
    IN V_EMP_NO
    YOUSEF. EMP;
    INSERT YOUSEF. EMP (USER_ID, EMP_NO, FIRST_NAME, LAST_NAME, REG_DATE)
    VALUES (SUBSTR (: LAST NAME, 1, 1) |: LAST_NAME |) V_EMP_NO, V_EMP_NO,:FIRST_NAME,:LAST_NAME,TO_DATE(SYSDATE,'DD-MON-YY'));
    DBMS_OUTPUT. PUT_LINE (' DETAILS OF THE EMPLOYEE: "");
    LOOP
    EXTRACT THE C IN V_USER_ID, V_EMP_NO, V_FIRST_NAME, V_LAST_NAME, V_REG_DATE, V_COUNT;
    WHEN THE EXIT %C NOTFOUND;

    DBMS_OUTPUT. PUT_LINE (V_USER_ID |'|) ' || V_FIRST_NAME | V_LAST_NAME |' | ' || V_REG_DATE);
    END LOOP;
    DBMS_OUTPUT. PUT_LINE ("COUNT:" | "|") V_COUNT);

    CLOSE C;
    END;
    /

    ALL FRIENDS,

    THANKS FOR EVERY BODY,

    I JUST FOUND THE RIGHT WAY TO DO

    FOR THOSE WHO WANT TO SEE:

    -----------------------------------------------------------

    DECLARE
    V_USER_ID VARCHAR2 (50);
    NUMBER OF V_EMP_NO;
    V_FIRST_NAME VARCHAR2 (30);
    V_LAST_NAME VARCHAR2 (30);
    DATE OF V_REG_DATE;
    NUMBER OF V_COUNT;
    V_SQL_SATEMENTS VARCHAR2 (1000);
    NCOUNT THE NUMBER;
    CURSOR C IS SELECT USER_ID, FIRST_NAME, LAST_NAME, EMP_NO FROM EMP REG_DATE;
    BEGIN
    SELECT COUNT (*) IN THE EMP V_COUNT;
    OPEN C;
    SELECT COUNT (*) FROM NCOUNT FROM USER_TABLES WHERE TABLE_NAME = 'EMP ';
    IF (NCOUNT<=0)>
    V_SQL_SATEMENTS: =' CREATE TABLE EMP)
    USER_ID VARCHAR2 (40) PRIMARY KEY,.
    NUMBER OF EMP_NO,
    FIRST NAME VARCHAR2 (30),
    VARCHAR2 (30) LAST_NAME,.
    DATE OF REG_DATE)';
                                             
    RUN IMMEDIATELY "DROP TABLE EMP;
    IMMEDIATELY RUN V_SQL_SATEMENTS;
    END IF;

    SELECT NVL (MAX (EMP_NO), 0) + 1
    IN V_EMP_NO
    YOUSEF. EMP;
    INSERT YOUSEF. EMP (USER_ID, EMP_NO, FIRST_NAME, LAST_NAME, REG_DATE)
    VALUES (SUBSTR (: LAST NAME, 1, 1) |: LAST_NAME |) V_EMP_NO, V_EMP_NO,:FIRST_NAME,:LAST_NAME,TO_DATE(SYSDATE,'DD-MON-YY'));
    DBMS_OUTPUT. PUT_LINE (' DETAILS OF THE EMPLOYEE: "");
    LOOP
    EXTRACT THE C IN V_USER_ID, V_EMP_NO, V_FIRST_NAME, V_LAST_NAME, V_REG_DATE;
    WHEN THE EXIT %C NOTFOUND;

    DBMS_OUTPUT. PUT_LINE (V_USER_ID |'|) ' || V_FIRST_NAME | V_LAST_NAME |' | ' || V_REG_DATE);

    END LOOP;

    CLOSE C;
    DBMS_OUTPUT. PUT_LINE ("COUNT:" | "|") V_COUNT);

    END;
    /

  • How to get the number of entries in the navigation menu?

    boc.bmp

    How to get the number of entries in the navigation menu? Check the image. What it shows 8 number of customers and 10 products and 10 orders in the list. How to get it?

    --

    Thank you

    Hello

    Create items of the request saying, "CUSTOMERS", "PRODUCTS" and "ORDERS".

    Create the application process that defines these items when loading the page for example

    C1 in select count (*) NTC (of customer_table)

    loop

    : CUSTOMERS: = c1.cnt;

    end loop;

    C1 in select count (*) NTC (of products_table)

    loop

    PRODUCTS: = c1.cnt;

    end loop;

    C1 in select count (*) NTC (of orders_table)

    loop

    : ORDERS: = c1.cnt;

    end loop;

    Components shared Open-> Navigation bar and change:

    In the entry list Label-> customers & CLIENTS.]

  • Get the number of days in a month based on the month and year of fields

    I have a column in my form which lists the days in a month. I want to configure a hidden field that calculates the total number of days in a month, based on the month and year of the field inputs. The number of days will determine what appears on the column. For example, if I put 4 months, and 2016 in the field of the year, I get 30 in the hidden field. Thus, on the column 'Day', I'll have numbers 1-30. Or if I put 2 months and 2016 in the field of the year, I get the 29 in the hidden field. If the numbers 1-29 appears in the column 'day '.

    Found this on some forum javascript code:

    //Month is 1 based
    function daysInMonth(month,year) {
      
    return new Date(year, month, 0).getDate();
    }

    //July
    daysInMonth
    (7,2009); //31
    //February
    daysInMonth
    (2,2009); //28
    daysInMonth
    (2,2008); //29

    I do not know how to convert this code in JavaScript to adobe and don't really know how to use it. All I know how to do is to configure the field values for the field month and year as variables. I am a novice programmer and would appreciate it really all the help I can get. Thank you in advance!

    The code seems to be JavaScript and runs as needed by using the JavaScript console.

    I would like to consider making more general code, so if you have a date string that includes at least the month and year we could just call the function and get the number of days for that month.

    The following script will calculate the number of days in a month, by using at least the month and year values can display the result on the JavaScript console and all of the value field for the field that has this code as the custom calculation Script.

    function daysInMonth (oDate) {}
    return new Date (oDate.getFullYear (), oDate.getMonth () + 1, 0) .getDate ();
    }

    nMonth var = this.getField("Month").valueAsString; get the value of month;
    nYear var = this.getField("Year").valueAsString; get the value of the year;

    Event.Value = "";

    If (nMonth! = "" & nYear!) = "") {}
    var MyDate = util.scand ("' / mm/yyyy ', nMonth +" / "+ nYear); convert to date object;
    var nDaysInMonth = daysInMonth (MyDate); get the number of days;

    Console.Open (); Open the JavaScript console;

    Console.clear(); clear the console;

    Console.println ("Days in" + nMonth + ":" + nDaysInMonth); show days in month;

    Event.Value = nDaysInMonth; Set the value of the field;

    }

  • get the number of the day of the week - any national locale is used

    Hi all

    My need is to get the number of the day of the week - any national local is used.

    For example, Saturday's 6th day of the week in my country, because the week starts on Monday.

    I heard that some countries start the week of Sunday.

    So my need is to compile code that does not depend on local national.

    How can I make it?

    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production

    PL/SQL Release 11.2.0.1.0 - Production

    "CORE 11.2.0.1.0 Production."

    AMT for Linux: Version 11.2.0.1.0 - Production

    NLSRTL Version 11.2.0.1.0 - Production

    Hello

    2621671 wrote:

    Hi all

    My need is to get the number of the day of the week - any national local is used.

    For example, Saturday's 6th day of the week in my country, because the week starts on Monday.

    ...

    That's what you asked for, whatever your NLS settings:

    1 + TRUNC (dt) - TRUNC (dt, 'IW')

    If dt is a DATE, TRUNC (dt, 'IW') is the beginning of the ISO week containing dt.  ISO weeks always start on Monday, whatever NLS_TERRITORY, or other NLS parameters.

    I heard that some countries start the week of Sunday.

    So my need is to compile code that does not depend on local national.

    How can I make it?

  • Get the number of CPU of the machine virtual and carrots

    Hello

    I tried the following, but failed to get the number of CPUS the VM and carrots. What I am doing wrong?

    Of course, try like this

    $myCol = @)

    foreach ($cluster Get-cluster)

    {

    foreach ($vmhost in ($cluster |)) Get - VMHost))

    {

    foreach ($vm in (Get-VM-location $vmhost)) {}

    $VMView = $vm | Get-View

    $VMSummary = "" | Select NOMCLUSTER, HostName, VMName, VMSockets, VMCores, CPUSockets, CPUCores

    $VMSummary.ClusterName = $cluster. Name

    $VMSummary.HostName = $vmhost. Name

    $VMSummary.VMName = $vm. Name

    $VMSummary.VMSockets = $VMView.Config.Hardware.NumCpu

    $VMSummary.VMCores = $VMView.Config.Hardware.NumCoresPerSocket

    $VMSummary.CPUSockets = $vmhost. ExtensionData.Hardware.CpuInfo.NumCpuPackages

    $VMSummary.CPUCores = $vmhost. ExtensionData.Hardware.CpuInfo.NumCpuCores

    $myCol += $VMSummary

    }

    }

    }

  • Is it possible to get the number of execution of workflow on a cluster of servers Orchestrator / via REST?

    Is it possible to get the number of running workflows on a cluster of servers Orchestrator / through REST? Ideally without checking the status of all executions for each workflow.

    We lack 5.5.2 but would be interested to know if this is a feature available in more recent versions also.

    Hello

    Endpoint following REST will return all executions whose state is "ongoing". In the returned body, the top-level element has an attribute 'total' with the number of items returned.

    https://vcohost:8281 / vco/api/catalog/system/WorkflowExecution? conditions = State = running

  • Get the number of items in a collection

    I have an associative array that is indexed by VARCHAR2. I want to know the number of items in the collection that have value of index like '% IMSI_ '. Is there a direct way to achieve this, or I have to loop through the collection and get the number in a variable. I use 11g.

    The Count() method gives the total number of elements in the array (including null values).

    If you want to count how many names or values correspond to a filter predicate, you must do it manually.

Maybe you are looking for