Converting Double to String without exponent

Hi all,
I am reading some values from Excelsheet using apache POI library. I have large numbers that need to stored into database as string and not numbers. hence, while reading the excelsheet values, i convert these number.. and the are received as double. While converting double into string I noticed that some values are represented in exponential form.. I would like to avoid this and have pure number values in the form of string,,..
Can anybody tell me how to do it?
Thanks in advance,
Abdel Olakara

java.text.DecimalFormat

Similar Messages

  • Convert Double to String without zeros at the end

    Hello,
    how can i convert a double-numeric to a string? I know how can do it but not how i can do it in a fast way.
    When i use the "Number to Fractional String"-Object then a number
    1,2 --> is canged to 1,200000
    1,0 --> changed to 1,000000
    what can i do that there are no zeros at the end?
    Currently i´m reading the reversed string in a loop to remove the zeros, but this i to slow i think.
    Is there a fast way?
    Thanks for your help

    Extract from the LV help :
    Select Tools»Options to display the Options dialog box and select
    Front Panel from the Category list to display
    this page.
    Use this page to set front panel options.
    This page includes the following components:
    Open the control editor with double click—Allows you to
    double-click a control to display the Control
    Editor window. Use the Control Editor window to customize
    the appearance of a front panel object. This checkbox is unchecked by default.
    Use localized decimal point—Uses the decimal separator for
    the operating system instead of the period. This checkbox is checked by default.
    Remove the checkmark from this checkbox if you want LabVIEW to use periods in
    all cases for the decimal point.

  • Converting double to String

    I am looking for a way to convert double to String.
    I think that I have to use wrapper like Double class and use toString(double d), but I am not sure how to do it.
    Since toString() is static method, I do not have to have an instance of the Double class, so I was wondering what's the correct way to do it.
    I need something like this:
    String MyString = new String (String1.concat ( My_doubleNumber.Double.toString() ) );
    Any Suggestions?
    Thanks!!!

    WOW thanks a lot. These are definately better than what I thought of doing originally.
    In case I need to use the wrapper class somewhere else, I am just wondering what would be a proper use of Double and String?

  • Converting double to strings

    I'm having a problem in getting my double to convert to a string, here's my code so far.
         public void calculatePayments()
              double paymentAmount;
              double monthlyInterestRate = (Double.parseDouble(interestBox.getText())/12)/100;
              double amountOfLoan = Double.parseDouble(balanceBox.getText());
              double numberOfPayments = Double.parseDouble(yearsBox.getText()) * 12;
              paymentAmount = (amountOfLoan * monthlyInterestRate) / (1 - Math.pow(1/(1 + monthlyInterestRate),numberOfPayments));
              Double.toString(paymentAmount);
              tableBox.append(paymentAmount);
    And here's the error message I get:
    ProgramInterface.java:134: append(java.lang.String) in javax.swing.JTextArea cannot be applied to (double)
              tableBox.append(paymentAmount);
    As always, help is appreciated.

    This line returns a String but has no affect on paymentAmount.
    Double.toString(paymentAmount);To covert the double to String you can save the return in a variable
    String s = Double.toString(paymentAmount);
    tableBox.append(s);or combine them
    tableBox.append(Double.toString(paymentAmount));

  • Newbie Converting double to string

    I am very new to Java Programming, but I am trying to convert a double to a string
    Here is some code of what I am trying to do:
          String output = "";
          Word words[] = new Word[ 7 ];
                        Then I add the "words" to the array
          for ( int i = 0; i < words.length; i++ ) {
             output += words[ i ].toString();
                      output +="\nListed :" + Double.toString(words[ i ].listings()) + "\n";
         return output; the listings method is type double. I think I can use toString to convert a double to a string but am not sure how to go about doing it.
    Any help is very appreciated.
    Thanks.

    I am very new to Java Programming, but I am trying to
    convert a double to a string
    Here is some code of what I am trying to do:
    String output = "";
    Word words[] = new Word[ 7 ];
    Then I add the "words" to the array
    for ( int i = 0; i < words.length; i++ ) {
    output += words[ i ].toString();
    output +="\nListed :" + Double.toString(words[ i
    ].listings()) + "\n";
    return output;the listings method is type double. I think I can use
    toString to convert a double to a string but am not
    sure how to go about doing it.
    Any help is very appreciated.
    Thanks.Wrong:
    Double.toString(words[ i ].listings())
    Right:
    words[ i ].listings().toString()

  • Convert Double to String and Specify Precision

    Hi.....
    Can anyone tell me what class/method I would use if I want to convert a double to a string and need the ability to specify the precision?
    Thanks,
    Christine

    DecimalFormat

  • Trouble converting "double like" string to integer

    Hi everyone,
    I have a trouble here. Let's say I have a string which its value is "314.12345667". the value is "like a double". How do i convert it into an integer where the integer only takes the value of da string before the decimal point (as in the value of string = 314 only)? Thanks for helping.

    hi xamule,
    tey this..
    String s="314.123876"
    double d=Double.parseDouble(s);
    int x=d.intValue();
    hope it may help u..
    bye bye,
    Pramod

  • Converting doubles to strings

    I'm sorry if this has already been posted, but i searched the database for a while and i couldn't find anything that helped. I was just wondering what the code was to convert a double into a string, so it can be displayed on a label or button, etc. Again, i am sorry if this was already posted and i missed it.

    double d=100.0;
    String doubleStr=Double.toString(d);

  • Convert Double To String

    Hello,
    I have the following method:
    private String doubleToString(double value, int kommas)
         int stringLength;
         String mString ="";
         String mSubstringSuf ="";
         Double dValue = new Double(value);
         mString = new String(dValue.toString());
         stringLength = mString.length();
         mSubstringSuf = mString.substring(2, stringLength + 2 - kommas);
         return "0." + mSubstringSuf;
    Now I call this Method with
    value = 4.98
    kommas = 2
    I receive back the value 4.88????
    What is wrong?
    Thank you
    Werner

    That code cannot possibly return "4.88". It always returns something that begins with "0." So perhaps you are debugging the wrong code.

  • Re: convert double to string?

    outputLabel.setText(String.valueOf(bmi));

    Thank you all very much,
    theoutputLabel.setText(String.valueOf(bmi));[/co
    de] took care of the compiling, but the program
    crashes when the calculate button is clicked and
    returns a NULL POINTER EXCEPTION. This is my first
    experience with this error. What does it mean?
    Thanx,
    RipIt means you tried to call a method or access a field on a null reference?
    Which line does it occur in? (The error message will tell you, and will alos tell you where the method was called from.)
    For instance, if the message comes from the outputLabel.setText line, then outputLabel must be null, since that's the only reference you're attempting to dereference there.
    If it comes from a different line, look for everything other than class names preceding a dot, or for references to array elements (e.g. arr[0] will give NPE if arr is null).

  • Double.parseDouble(String) - problems when string is in scientific notation

    Hello guys,
    I'm doing some numerical calculations and I wonder whether it is possible for Double.parseDouble(String) to parse string in the scientific notation i.e. 1.0824234234E-10. Is it the notation itself causing the exception : NumberFormatException or the number is just too big/small and double can't hold it ?
    If it's just the notation how can I fix it ?
    Regards

    i'm not quite sure whether double odoes not allow it.
    perhaps consider the api Double.valueOf() and the testing code provided; reproduced below:To avoid calling this method on a invalid string and having a NumberFormatException be thrown, the regular expression below can be used to screen the input string:
            final String Digits     = "(\\p{Digit}+)";
      final String HexDigits  = "(\\p{XDigit}+)";
            // an exponent is 'e' or 'E' followed by an optionally
            // signed decimal integer.
            final String Exp        = "[eE][+-]?"+Digits;
            final String fpRegex    =
                ("[\\x00-\\x20]*"+  // Optional leading "whitespace"
                 "[+-]?(" + // Optional sign character
                 "NaN|" +           // "NaN" string
                 "Infinity|" +      // "Infinity" string
                 // A decimal floating-point string representing a finite positive
                 // number without a leading sign has at most five basic pieces:
                 // Digits . Digits ExponentPart FloatTypeSuffix
                 // Since this method allows integer-only strings as input
                 // in addition to strings of floating-point literals, the
                 // two sub-patterns below are simplifications of the grammar
                 // productions from the Java Language Specification, 2nd
                 // edition, section 3.10.2.
                 // Digits ._opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
                 "((("+Digits+"(\\.)?("+Digits+"?)("+Exp+")?)|"+
                 // . Digits ExponentPart_opt FloatTypeSuffix_opt
                 "(\\.("+Digits+")("+Exp+")?)|"+
           // Hexadecimal strings
           "((" +
            // 0[xX] HexDigits ._opt BinaryExponent FloatTypeSuffix_opt
            "(0[xX]" + HexDigits + "(\\.)?)|" +
            // 0[xX] HexDigits_opt . HexDigits BinaryExponent FloatTypeSuffix_opt
            "(0[xX]" + HexDigits + "?(\\.)" + HexDigits + ")" +
            ")[pP][+-]?" + Digits + "))" +
                 "[fFdD]?))" +
                 "[\\x00-\\x20]*");// Optional trailing "whitespace"
      if (Pattern.matches(fpRegex, myString))
                Double.valueOf(myString); // Will not throw NumberFormatException
            else {
                // Perform suitable alternative action
    http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Double.html

  • Double.parseDouble(String) : Problem to parse large String

    Hello,
    I need to convert A String to a Double in my application without rounding of digits.
    I have used the Double.parseDouble(String) method.
    The maximum string length can be 17 including dot(.)
    So if my String is (of length 17)
    Eg.
    S= �9999999999.999999� then I am getting the double value as
    d= 9999999999.999998(compare the last digit)
    If s = �9999999999.111111� then d = 9999999999.111110
    If s = �9999999999.555555� then d = 9999999999.555555 (result that I want)
    If s = �9999999999.666666� then d = 9999999999.666666 (result that I want)
    If s = �9999999999.777777� then d = 9999999999.777777 (result that I want)
    If s = �9999999999.888888� then d = 9999999999.888887
    If s = �9999999999.999999� then d = 9999999999.999998
    If s = �9123456789.123456� then d = 9123456789.123456
    But string length up to 16 is giving me the accurate result
    So any body can explain me that why it is happening? And how can i get the accurate result.
    Thanks in advanced.

    Hi,
    Thank You for your suggestion. By which i can store
    the big double number in Data base , but at some
    point i require to parse a double value from a Double
    reference.In that case if the Decimal value length
    => 16 then it the last digit changes or rounds.
    coverting 9999999999.999999 Decimal value to double
    value. It gives me 9999999999.999998 and
    9999999999.9999999 gives me the 10000000000.0000000.
    but the Double value 999999999.999999 is ok
    and 999999999.99999999 rounds.Err, is there a follow up question in there?

  • CIN: Converting a C String to a LabVIEW String

    Hi all,
    I have been developing CINs in Microsoft Visual C++ 6.0 for LabVIEW as
    project needs. However, I am having a problem with converting a C String
    to a LabVIEW String in CIN.
    I used two ways to try to make the conversion work that were LStrPrintf
    and MoveBlock as stated as following:
    1. LStrPrintf
    #include "extcode.h"
    #include "hosttype.h"
    #include "windows.h"
    struct teststrct{
    const char* test;
    struct teststrct testinstance;
    typedef struct {
    LStrHandle test
    } TD1;
    CIN MgErr CINRun(TD1 *testcluster, LVBoolean *Error) {
    char *tempCStr = NULL;
    strcpy(tempCStr, testinstance.test); // this would cause LabVIEW crash!
    LStrPrintf(testcluster->test, (CStr) "%s", tempCSt
    r);
    // but if I assigned tempCStr as tempCStr = "test", the string value
    "test" could be passed to LabVIEW without any problems.
    2. MoveBlock
    #include "extcode.h"
    #include "hosttype.h"
    #include "windows.h"
    struct teststrct{
    const char* test;
    struct teststrct testinstance;
    typedef struct {
    LStrHandle test
    } TD1;
    CIN MgErr CINRun(TD1 *testcluster, LVBoolean *Error) {
    char *tempCStr = NULL;
    int32 len;
    tempCStr = (char *)&testinstance.test; //since strcpy didn't work, I
    used this way to try to copy the const char* to char*.
    len = StrLen(tempCStr);
    if (err = NumericArrayResize(uB, 1L, (UHandle*)&testcluster->test,
    len))
    *Error = LVFALSE;
    goto out;
    MoveBlock(&tempCStr, LStrBuf(*testcluster->test), len); // the string
    was able to passed to LabVIEE, but it was unreadable.
    out:
    Did I do anything wrong? Any thougths or suggestions would be very
    appreciated!

    Thank you so much for your response, Greg. However, I still have problem after making
    corresponding modification for LStrPrintf approach:
    int32 len;
    char tempCStr[255] = "";
    strcpy(temCStr, testinstance.test);
    len = StrLen(tempCStr);
    LStrPrintf(testcluster->test, (CStr) "%s", tempCStr);
    LStrLen(*testcluster->test) = len;
    LabVIEW crashes. Any ideas?
    Greg McKaskle wrote:
    > The LStrPrintf example works correctly with the "test" string literal because
    > tempCStr= "test"; assigns the pointer tempCStr to point to the buffer containing
    > "text". Calling strcpy to move any string to tempStr will cause
    > problems because it is copying the string to an uninitialized pointer,
    > not to a string buffer. There isn't anything wrong with the LStrPrintf
    > call, the damage is already done.
    >
    > In the moveblock case, the code:
    > tempCStr = (char *)&testinstance.test; //since strcpy didn't work, I
    > used this way to try to copy the const char* to char*.
    >
    > doesn't copy the buffer, it just changes a pointer, tempCStr to point to
    > the testinstance string buffer. This is not completely necessary, but
    > does no harm and is very different from a call to strcpy.
    >
    > I believe the reason that LV cannot see the returned string is that the
    > string size hasn't been set.
    > Again, I'm not looking at any documentation, but I believe that you may
    > want to look at LStrLen(*testcluster->test). I think it will be size of
    > the string passed into the CIN, and it should be set to len before returning.
    >
    > Greg McKaskle
    >
    > > struct teststrct{
    > > ...
    > > const char* test;
    > > ...
    > > };
    > >
    > > struct teststrct testinstance;
    > >
    > > typedef struct {
    > > ...
    > > LStrHandle test
    > > ...
    > > } TD1;
    > >
    > > CIN MgErr CINRun(TD1 *testcluster, LVBoolean *Error) {
    > >
    > > char *tempCStr = NULL;
    > >
    > > ...
    > >
    > > strcpy(tempCStr, testinstance.test); // this would cause LabVIEW crash!
    > > LStrPrintf(testcluster->test, (CStr) "%s", tempCStr);
    > > // but if I assigned tempCStr as tempCStr = "test", the string value
    > > "test" could be passed to LabVIEW without any problems.
    > >
    > > ...
    > > }
    > >
    > > 2. MoveBlock
    > >
    > > #include "extcode.h"
    > > #include "hosttype.h"
    > > #include "windows.h"
    > >
    > > struct teststrct{
    > > ...
    > > const char* test;
    > > ...
    > > };
    > >
    > > struct teststrct testinstance;
    > >
    > > typedef struct {
    > > ...
    > > LStrHandle test
    > > ...
    > > } TD1;
    > >
    > > CIN MgErr CINRun(TD1 *testcluster, LVBoolean *Error) {
    > >
    > > char *tempCStr = NULL;
    > > int32 len;
    > > ...
    > >
    > > tempCStr = (char *)&testinstance.test; //since strcpy didn't work, I
    > > used this way to try to copy the const char* to char*.
    > > len = StrLen(tempCStr);
    > >
    > > if (err = NumericArrayResize(uB, 1L, (UHandle*)&testcluster->test,
    > > len))
    > > {
    > > *Error = LVFALSE;
    > > goto out;
    > > }
    > >
    > > MoveBlock(&tempCStr, LStrBuf(*testcluster->test), len); // the string
    > > was able to passed to LabVIEE, but it was unreadable.
    > > ...
    > >
    > > out:
    > > ...
    > >
    > > }
    > >
    > > Did I do anything wrong? Any thougths or suggestions would be very
    > > appreciated!

  • Is there an easy way to convert from a String with a comma, ie. 1,000.00 to

    Is there an easy way to convert from a String with a comma, ie. 1,000.00 to a float or a double?
    thanks,
    dosteov

    Like DrClap said: DecimalFormat. However, make sure you understand the Locale things, as explained at http://java.sun.com/j2se/1.3/docs/api/java/text/DecimalFormat.html (which refers to NumberFormat as well) and use them explicitly. Like
    public class FormatTest
      public static void main(String args[])
        try
          // see NumberFormat.getInstance()
          DecimalFormat fmt = new DecimalFormat();
          Number num = fmt.parse("1,000.01");
          System.out.println(num.doubleValue());
        catch(ParseException pe)
          System.out.println(pe);
    }most likely seems OK on your system, but may print "1.0" (or even fail) on some non-English platforms!
    When performing calculations, also see http://developer.java.sun.com/developer/JDCTechTips/2001/tt0807.html
    a.

  • How can I Convert a numeric string to a formatted string?

    I have a string value returned from a background tool that will range from 0 to possibly terabytes as a full number.  I want to format that number to use commas and to reduce the character count using an appropriate size modifier (KiB, MiB, GiB, etc).  I've tried converting the string number to a Double value using Double.parseDouble() and then performing the math based on the size of the value with this code:
    Double dblConversionSize;
    String stCinvertedSize;
    dblConversionSize = Double.parseDouble(theValue);
    if (dblConversionSize > (1024 * 1024 * 1024))
         stConvertedSize = String.format("%,.000d", dblConversionSize / 1024 / 1024 / 1024) + " TiB";
    I've also tried using
         String.valueOf(dblConversionSize / 1024 / 1024 / 1024) + " TiB";
    However, the formatting is failing and I'm either getting a format exception or the result is displayed as a number with no decimal component.
    Anyone have a recipe for this?
    Thanks,
    Tim

    TOLIS Tim wrote:
    Thanks, but the reason for using Double is that the division math can leave me with values like 2.341 GiB.  I don't want to drop the values (or round) on the right side of the decimal point.
    Then you may look for DigDecimal which avoids digitization errors.
    NumberFormat will handle all subclasses of Number. You might need another specialization. Just look at the API which one is suitable.
    bye
    TPD

Maybe you are looking for