你如何获得实数到美元价值

How do you get real number to dollar values

我在编写一个程序的代码时遇到问题,该程序读取一个数字,然后使用最少的 bills.This 打印出 $ value 的金额,这是我所能想到的。

    import java.util.Scanner;
import java.lang.Math;
public class Assignment3 {
public static void main(String[] args) {
     Scanner input = new Scanner(System.in);
     System.out.println("Enter amount) ");
     double amount = input.nextDouble();
     int amountInt = (int) (amount * 100);

    if(amount >= 100)
    {
            amount = amount % 100;
        }
    if(amount >= 50)
        {
            amount = amount % 50;
        }
    if(amount >= 20)
        amount= amount % 50;
        }
    if(amount >= 10) 
        amount= amount %10; 
        }
    if(amount >= 5) 
        amount= amount %5; 
        }
    if(amount >= 1) 
        amount = amount %1;
        }
    if(amount >= .25)
        amount =amount %.25;
        }
    if(amount >= .10)
        amount = amount %.10;
        }
    if(amount >= .05)
        amount = amount % .05;
        }
    if(amount >= .01) 
        amount = amount % .01;
        }

可以这样做:

int tmp;
if(amount >= 100)
    {
        tmp = (int) amount/100
        print tmp + "0 bills"
        amount = amount % 100
    }
if(amount >= 50)
    {
        tmp = (int) amount/50
        print tmp + " bills"
        amount = amount % 50
    }

我可以从你的命名中看出这是一项作业,所以你必须自己修正语法。您还需要为较低的账单继续此操作。

这里有一个解释。
如果金额等于或超过一百,我们将其除以一百并将其转换为一个整数。这将自动导致我们的数字增加了多少次。所以对于 455,(int) 455/100 将是 4。我们打印它,并更新我们的数量。 amount % 100,从 amount 中减去 100,尽可能多次(在本例中为 4 次)。

我们继续这样做,打印美元钞票并更新我们的金额。

编辑: 阐明每个请求的作用及其工作原理:

首先我们检查金额是否超过 100,因为 100 是最大的美元钞票。如果是我们这样做:
tmp = (int) amount/100
这是我们可以从金额中减去 100 的次数,我们保存这个值。如果 amount 是 640,tmp 现在就是 6。

然后我们打印出美元钞票,首先打印金额 (tmp),然后打印美元钞票的类型。

之后我们更新amount
amount % 100amount 中减去 100 的次数越多越好。
如果我们继续以 640 为例,它将执行:
640-100=540
540-100=440
440-100=340
340-100=240
240-100=140
140-100= 40
因此,amount 将只剩下 40 个。

我们使用所有剩余美元钞票尺寸的剩余金额继续此过程。