Я младший в старшей школе. Нелегко выяснить, как использовать формат денег. Я делаю упражнение в Руководство по программированию на Java (второе издание), где я должен приглашать сотрудников на количество гамбургеров, картофеля и соды.Формат денег - как его использовать?
Fries составляет 1,09 доллара США, гамбургеры составляют 1,69 доллара США, а газированные напитки - 0,99 доллара США.
Вот мой код:
import java.util.Scanner;
/**
* Order pg. 101
*
* Garret Mantz
* 2/10/2016
*/
public class Order {
public static void main(String[]args) {
final double pburgers=1.69;
final double pfries=1.09;
final double psodas=0.99;
final double ptax=0.065;
double burgers;
double fries;
double sodas;
double totaltax;
double total;
double tax;
double tendered;
double change;
Scanner input = new Scanner(System.in);
System.out.print("Enter the amount of burgers: ");
burgers = input.nextDouble();
System.out.print("Enter the amount of fries: ");
fries = input.nextDouble();
System.out.print("Enter the amount of sodas: ");
sodas = input.nextDouble();
System.out.print("Enter the amount tendered: ");
tendered = input.nextDouble();
totaltax = (burgers*pburgers)+(fries*pfries)+(sodas*psodas);
tax = totaltax*ptax;
total = totaltax + tax;
change = tendered - total;
System.out.println("Your total before tax is: \n" + totaltax);
System.out.println("Tax: \n" + tax);
System.out.println("Your final total is: \n" + total);
System.out.println("Your change is: \n" + change);
}
}
Я просто хочу, чтобы использовать формат денег, но я не знаю, как. Я уверен, что это глупый вопрос, но спасибо за помощь!
Всего головы, вы должны ** никогда ** использовать числа с плавающей точкой для хранения валюты. Формат хранит данные в двоичном формате, так что он представляется как некоторое двоичное целое без знака (значимое) * с некоторой степенью двух. Поскольку он хранится в силе двух, а не десять, вы можете столкнуться с множеством проблем. Вместо этого используйте подход с фиксированной точкой (например, сохраните количество центов в 'long') [подробнее] (https://en.wikipedia.org/wiki/Floating_point) –