Decimal Format Errors - String Cannot Be Converted To Double
Jun 19, 2014
I am working on a project that just calculates simple interest based upon a principal and a percent interest rate written as .xxxx from user.
I need the Loan amount and the final interest calculation to show up as a currency with commas in appropriate areas, the Rate to be expressed as X.xxx% instead of .xxxx
I keep getting this error when I compile:
C:JavaInterestCalculator.java:46: error: incompatible types: String cannot be converted to double
principal = formatter.format(principal);
^
C:JavaInterestCalculator.java:49: error: incompatible types: String cannot be converted to double
rate = formatter.format(rate);
^
C:JavaInterestCalculator.java:52: error: incompatible types: String cannot be converted to double
totalInterest = formatter.format(totalInterest);
^
3 errors
Tool completed with exit code 1
And here is my code
import java.util.Scanner;
import java.text.NumberFormat;
import java.text.DecimalFormat;
// class declaration
public class InterestCalculator
{
// main method declaration
I am using NetBeans IDE 8.0.2 to program Java code. I am a beginner in Java.
Instead of getting two decimal places after the point, I am getting three despite using the code format for two ("##.##"). Actually, this happens even if I remove the format code between the quotes. It is as if the program cannot see the format code. Why this happens ?
Here is the relevant program code:
private void convertButtonActionPerformed(java.awt.event.Action Event evt) { double inputNumber = 0; // sets the decimal format
I need this program to print out the gpa down to 2 decimal places and I can't figure out how to do it. It keeps saying it can't find decimal format and I'm not sure how to define it.
Java Code:
import java.util.Scanner; public class GPACalculator { public static void main(String[] args) { double creditHours = 0; double gradePoints = 0;
import javax.swing.JOptionPane; import java.text.DecimalFormat; public class Sample3 { public static void main(String args[]){ double amount,iRate,monPay,totalPay; int years; String amountStr;
I am trying to convert the double grossPay to 2 decimal places but cannot get it to work ,I am unsure of the correct way of doing this but this is how far I can get
I am trying to cast an integer into a double. it works but I need two decimal number after the dot and for example I can print 7.51 but how can I get it to print 7.50 and not 7.5
public int compareTo(Money o){ int d1 = (this.dollars * 100) + this.cents; int d2 = (o.dollars * 100) + o.cents; return d1 - d2; }
On my main method I have
public static void main(String[] args){ Money money1 = new Money(10, 49); Money money2 = new Money(2, 99); System.out.println("result: " + "$" + (double)money1.compareTo(money2)/100); }
It prints 7.5 but I want it to print 7.50, how do I do this .....
so I need my program to print in decimal format and I keep getting an error saying that it cant find symbol "decimalFormat". here's what I have so far.
import java.util.Scanner; public class GPACalculator { public static void main(String[] args) { int creditHours = 0; int gradePoints = 0;
I am working on a program where i calculate a fee using a method. I know i have to import the decimal format utility of java. "import java.text.DecimalFormat;" then i have to create an object for the decimal format. With "DecimalFormat f = new DecimalFormat("0.00");" What i am wondering how do i apply it to my system.out.println statement. I know i have to use for instance f.format(calculateFee()); Is that the right syntax for displaying the results because i generate a syntax error that way.
I'm not sure why, but whenever I try to get a value out of a double, it only extends to one decimal place. For instance, (825 / 805) would become 1.0000 (after being run through a DecimalFormat object) instead of 1.0248 like I need it to be (and should be if what I know about primitive variable types is right). Why is the double variable type not giving me the precision I want and, more importantly, how do I fix this?
I've recently came into reading that term big decimal, but I still don't fully understand what the benefit it is or why wouldn't you just use double and say have the program stop after a certain range?
I am working with a program I wrote for class. I got it to compile and do what I want, But I was wondering how I can format my methods to to display a decimal with 1-2 decimal places. Would I create a method in my NumberAnalysis class to do it for me? Or would I declare an instance of the DecimalFormat class in my main method?
import java.util.Scanner; //Needed for Scanner Class import java.io.*; //Need for File and IOException import java.text.DecimalFormat; public class Ex8_11 { public static void main(String[] args) throws IOException{ { DecimalFormat decformatter = new DecimalFormat("#0.00");
[Code] .....
This is my output:
Lowest Number: 1.09 Highest Number: 82.76 Total Number: 367.89000000000004 Total Average Number: 30.657500000000002
Think I just solved the answer to my own question, I did it by declaring double variables in my main method and called the methods and instantiated the variables into the methods... Is there a better way to do this?
package lesson4.skowronek; import java.util.Scanner; //Needed for Scanner Class import java.io.*; //Need for File and IOException import java.text.DecimalFormat; public class Ex8_11 { public static void main(String[] args) throws IOException{
I have an assignment to create a JFrame pizzaorder and at the end of this order after the totalprice is calculated I need to format the number to ##.## but I keep getting a cannot find symbol error.
Source Code:
import java.awt.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; public class pizzaorder extends JFrame implements ItemListener, ListSelectionListener //top section will have centered title telling the name, and under it seperate instructions to choose your pizza and toppings
package rockjava; import java.text.NumberFormat; import java.util.Scanner; public class file4 { public static void main(String[] args)
[Code] ....
Please Input Num of Pods + Num of Keys= 20.5 Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextFloat(Unknown Source) at alijava.file4.main(file4.java:14)
(It is not accepting double values. However working fine for integers.)
for (int i = 0; i < letters.length; i++) { double relativeFreq = (onesAverage()/letters[i]); char a = characters.charAt(i); double j = score[i]; System.out.printf();//ToDo
Above is my current code. Basically- There is a string called characters of length 26 (1 char for each letter in alphabet), a double relativeFrequency value which does a calculation and the end result is a number with lots of decimal numbers. The score array has set double values within the array.
What I want to do is create a print f statement where I print out each of the values I initialized above WITH specific amounts of spaces in between. So it should be in this order:
a (spaces) j (spaces) relativeFreq (newLine).
Between J and relativeFreq there should be 4 spaces, however if the value in relativeFreq is greater than 10 (it won't be greater than 100)- then there should be 3 spaces. Everytime I try to create a printf statement my code ends up crooked for some of the values.
for (int i = 0; i < letters.length; i++) { double relativeFreq = (onesAverage()/letters[i]); char a = characters.charAt(i); double j = score[i]; System.out.printf("%c %.4s %.4s%n",a, j, relativeFreq);
I have coded three classes ,1 class containing the Main method. I have declared three private data fields in Staff class and two data fields in Address class. The problem is that I am assigning String type data field from the Staff and Address Class through the public set methods to String type array in a public void method in the Main class.
public static void main(String[] args){ // TODO code application logic here System.out.println("-------------------------------------------------"); System.out.println("Press 1 - 6 To Perform Any One Following Action "); System.out.println("1. Insert New Contact "); System.out.println("2. Delete Contact By Name "); System.out.println("3. Replace Info From Contact "); System.out.println("4. Search Contact By Name "); System.out.println("5. Show All Contacts "); System.out.println("6. Exit Program ");
I need to design, implement, and test a program to input and analyze a name. The program begins by retrieving a user input string from the keyboard. This string is intended to be the user's name. These are the errors we have to search analyze the user input for: No blanks between names firstName and lastName, Non-alphabetic characters in names, Less than two characters in first name, and Less than two characters in last name. Each of these errors must be thrown. All exceptions must be derived from a programmer-defined class called NameException. Each exception should use a detailed message to differentiate among the file types of errors.
This is the format of my NameException class, is the format itself correct? I will fill in the details of each exception I am just wondering if that is how I should set it up.
public class NameException extends Exception { private String firstName, lastName; public NoBlanksException(String firstName,String lastName) { } public NonAlphabeticalCharactersException(String firstName, String lastName) {
[Code] .....
I was told not to try and catch thrown errors in the main method, would I just create another method in the Driver class to take care of that then?
I'm having trouble with sorting Strings- 3 strings inputted by user, and I would like to output them in alphabetical order. I've used the str.compareToIgnoreCase method, and then I've tried to loop them through a series of if/ else statements. Everything I've been able to find online (including the forums here) has suggested to use the Comparator class, or to put the strings into an array, and sort list- I really would like to stick with just the String class, and its methods .
The program itself works and compiles, but I am getting logic errors that I have been unable to solve. I'm using IntelliJ Idea, and I've ran it through the built in debugger, about 100+ times (not exaggerating, lol) just to see what it's doing in particular scenarios. For instance, I can get c, a, b, to print out as a,b,c correctly, but a,b,c, will print out as b,a,c.
For me this is kind of like a Sudoku puzzle, or a Rubik's cube! Each time I fix one scenario, it breaks another one, so I don't know if there's a(logic) solution to fix all possible scenarios (abc, acb, bac etc... to all print abc) or if possibly I just need more if statements. I've only pasted in the area where I'm having problems (the if statements). I'm a big fan of the "Next Line" syntax.
(Note: please assume the non relevant content- import Scanner class, main method, etc... I didn't want to paste the entire program.)
System.out.println("Enter the first statement: "); //input.nextLine(); string1 = input.nextLine(); System.out.println("Enter the second statement: "); string2 = input.nextLine(); System.out.println("Enter the third statement: "); string3 = input.nextLine();
I am trying to convert the double 4270571936.0000000000d to a hex string using Double.toHexString() and the answer I'm getting is 0x1.fd17834p31, what does p stands for?
The answer I'm expecting to get is 0x41efd17834000000 so not sure why it won't give me the correct answer?
The following floating point Double to hex calculator shows the write answer right Floating Point to Hex Converter
//Students Full Name firstName = JOptionPane.showInputDialog("Enter student " + "first name."); lastName = JOptionPane.showInputDialog("Enter student " + "last name."); // Get test grade (numbers) [b]test1 = JOptionPane.showInputDialog("Enter test1 grade")[/b];
The line in bold is where that error comes up. I know it something simple but I can't remember. I declared both firstName and lastName as Strings and then the test1 I declared as double. I had a similar error in a previous assignment where I had a integer(age) input and then i had an output statement asking for a name all I needed to do was put keyboard.nextLine(); after my age input and I was fine.
I am making a program where the user types in how many students, the student name and the student result. My problem is typing in a dobule name for instance: Tom Tom.
I have tried both:
String name = input.Next(); -> Only works with one name. and String name = input.nextLine(); -> Skips right trough and ask me to type result again.
Here is my code:
Java Code:
import java.util.Scanner; public class c5e8 { public static void main(String[]args){ Scanner input = new Scanner (System.in); int highestResult = 0; String highestName = " ";
Alright, so let's say I have this string. I want to make it so that the string for this variable has to follow a certain format.
For example, "AAA-B", where the A's are a digit 0-9, the - is always in the same spot, and B is a letter but only from A-M. All of this for a single instance variable.
Is this possible? How could I go about doing this.
I'm having an issue with figuring out how to structure and call a method using a string prompt. My prof has given us specific methods to create, and the one I'm having issues with is blic static double getOperand(String prompt). What I have currently is this:
public static double getOperand(String operand1, String operand2){ Scanner input = new Scanner(System.in); System.out.println("What is the first operand?"); operand1 = input.toString();
System.out.println("What is the second operand?"); operand2 = input.toString(); return operand1, operand2; }
which is obviously not working. When I asked my prof he sent me this, "The String paramater in the getOperand() method is intended to have the prompt value that is passed to it. Within the method, the prompt is then displayed, what the prompt is asking for is input, and then returned to the method call.For example, if the method is public double getOperand(String prompt) within the method you would display the prompt, as in System. out. println(prompt), use the Scanner class to create an object, perhaps called input, and then use the input object to get the value asked for by the prompt. Once you have that value, which in this example would be a double, then return the value to the method that called it.
The call could be something like this: double value = getOperand("What is the first operand?");". But that only works a little. Clearly I'm missing something and no matter what I google, or how many times I read the chapter, I am just not getting this. Everything else up to this point has been easy. and I can create regular methods just fine, the menu method works, but I can't figure out this string method and all the rest build off this method.