Я работаю над заданием и выполнил код, однако у меня возникла проблема с правильным форматированием вывода. Я беру текстовый файл, разделяю продукты по цене и добавляю данные в два отдельных файла. Как мне сделать правильный формат двойного с помощью BufferedWriter, чтобы он отображался в денежном выражении (0,00) без знака доллара? В настоящее время выводится как (0.0). Спасибо за вашу помощь.
Мой код:
//import the io utilities and scanner
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.util.Scanner;
/**
* class ProductData uses the scanner utility to read a file, FileWriter and
* BufferedWriter to write data from original file to two new files
* based on the product price.
*/
public class ProductData
{
/**
* method main calls the scanner to read a file, uses a while loop
* to scan through the file until done, and uses two if loops
* to determine the price and append the data to two new files.
* @param args
* @throws java.io.FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException
{
//create a scanner, call the file to be read
Scanner reader = new Scanner(new File("products.txt"));
//variables defined
int productID;
String productDescription;
double productPrice;
//while loop to read each line in the file
while (reader.hasNext())
{
//retrieves each item in order using the next feature of the scanner
productID = reader.nextInt();
productDescription = reader.next();
productPrice = reader.nextDouble();
//if loop for price greater than or equal to 50.00
if(productPrice >= 50.00)
{
try
{
// Create file
FileWriter fstream = new FileWriter("WishList.txt",true);
//create BufferedWriter to write data to the file
BufferedWriter out = new BufferedWriter(fstream);
//writes data and blank line to file
out.write(productID + " " + productDescription + " " + productPrice );
out.newLine();
//Close the output stream
out.close();
}
catch (Exception e)
{
//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
//if loop for price less than 50.00
if(productPrice < 50.00)
{
try
{
// Create file
FileWriter fstream = new FileWriter("GiftIdeas.txt",true);
//creates BufferedWriter to write data to file
BufferedWriter out = new BufferedWriter(fstream);
//writes data and blank line to file
out.write(productID + " " + productDescription + " " + productPrice );
out.newLine();
//Close the output stream
out.close();
}
catch (Exception e)
{
//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}//ends if loop
}//ends while loop
}//ends method main
}