Java黑皮书课后题第2章:*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值

博客探讨了Java中处理金融应用时double转int可能导致的精度损失问题。针对题目2.22,提出以整数值表示货币,其中最后两位代表美分,以此避免精度问题。并提供了修改程序清单2-10的思路。
摘要由CSDN通过智能技术生成

*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值

题目

题目概述

*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值

举例

1156表示11美元56美分

程序清单2-10

import java.util.Scanner;

public class Qingdan {
   
    public static void main(String[] args) {
   
        // Create a Scanner
        Scanner input = new Scanner(System.in);

        // Receive the amount
        System.out.println(
                "Enter an amount in double, for example 11.56");
        double amount = input.nextDouble();

        int remainingAmount = (int)(amount * 100);

        // Find the number of one dollars
        int numberOfOneDollars = remainingAmount / 100;
        remainingAmount = remainingAmount % 1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值