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 helpExtract 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. -
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? -
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,
ChristineDecimalFormat
-
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 -
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); -
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
WernerThat 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 ?
Regardsi'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 a float or a double?
thanks,
dosteovLike 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,
TimTOLIS 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
-
Multiple devices & family members
Ok, I am new to the Apple family and am confused on some items. I have an Iphone and Imac, my kids have Itouches, and ipods, my husband is addicted to the ipad! So, Does each person need to set up their own apple id? We have all been using mine. I ju
-
I updated Firefox, and after I restarted it, when I opened a new tab, I found that I now had two Google search bars: one next to where you type web addresses, and one right above my pinned sites (or my frequently visited sites). I'm just trying to: 1
-
Hello I was trying to by the app guitar party but i do not remember the answer to the security questions. What can I do ?
-
Urgent help on ,mount db
Hi, I tried to clone a new db prod on top of an old one test(oracle 9.2) windows 2000. After I copied over to the test server all the datafiles and controlfiles. I tried to mount db, then I got "dbname in controlfile "prod" is not "test" " error. So
-
How to efficiently use an jdbc driver
hi, I have used ifxjdbc.jar for connecting to informix server. But i have used that only for query execution. I want to know how one can efficiently use a jdbc driver. What all the classes that are coming with a .jar file. Please help me thankz to al