当前位置: 首页 > 知识库问答 >
问题:

有没有办法将分数四舍五入到下一个分数值?[副本]

梁丘书
2023-03-14

我试图创建一个赚钱机,它基于用户的输入来收集你需要的每一分钱。

金币=0.10,银币=0.05

我尝试了几件事情来调试我的代码,并注意到当我的剩余分数接近一个数字时,它会给我一个错误,例如,当使用.65%时,用户输入.65。没有考虑到它,只是把它推到铜币上。

java prettyprint-override">System.out.println("What amount would you like to convert");

String stringInput = userInput.readLine();

double amountToConvert = Double.parseDouble(stringInput);

double goldValue = .10;
double goldCoins = Math.floor(amountToConvert / goldValue);
double remainder = amountToConvert % goldValue; // here if a value is super close to, and it will not round it and pass it over to Bronze coins incorrectly.

double silverValue = .05;
remainder = remainder % silverValue;

我已经试过Math.ceil,它只是把分数作为一个整体凑起来,这不是我需要的。

共有1个答案

叶茂
2023-03-14

这可能不是你的直接答案。但是作为一种选择,你可以简单地使用1到100之间的整数值。如果需要可以把结果分成100。

用户输入65条引线6金1银。

  public static void main(String[] args) {
        System.out.println("What amount would you like to convert");
        String stringInput = "65";

        int amountToConvert = Integer.parseInt(stringInput);


        int goldValue = 10;
        int goldCoins = amountToConvert / goldValue;
        System.out.println(goldCoins);
        int remainder = amountToConvert % goldValue; // here if a value is super close to, and it will not round it and pass it over to Bronze coins incorrectly.

        //System.out.println(remainder);

        int silverValue = 5;
        remainder = remainder / silverValue;
        System.out.println(remainder);
    }
 类似资料:
  • 问题内容: 因此,我需要创建以下函数,但是如果不进行复杂的数学运算,我的头将无法想到PHP中的任何可能性。 轮 始终 到最接近的十进制(1.81 = 1.90,1.89 = 1.90,1.85 = 1.90) 总是 四舍五入到最接近的小数点(1.81 = 1.80,1.89 = 1.80,1.85 = 1.80) 轮 始终 到最接近的X.25 / X.50 / X.75 /×.00(1.81 =

  • 我试图将大的十进制值四舍五入到小数点后两位。 我正在使用 但它并没有始终如一地满足我的要求: 我不在乎有效数字,我只想要小数点后两位。我如何使用BigDecimal做到这一点?或者还有其他类/库更适合这个?

  • 问题内容: 我想将双精度值四舍五入到2个小数点。 例如:我有双d = 2;结果应为result = 2.00 问题答案: 内部表示形式在2和2.00之间没有差异。您可以使用四舍五入的值到最接近的整数- 使该轮为2位小数,你可以乘100,圆形,再除以100,但你不应该期望的结果是 准确 2DPS,由于二进制浮点运算的性质。 如果您只想将值 格式化 为两位小数,请查看-如果您对 计算中 的小数位数感兴

  • 问题在标题中,这里很新,所以还不太了解这个网站。想使用哈希来创建“更多的随机性”,但还不确定Java的数学。Random()还没有,有可能破解它吗?

  • 问题内容: 我在表中有一个DATETIME列,其值类似于: 我需要能够将这些值更新为: 基本上四舍五入到最接近的分钟…大于30秒的所有时间都会增加,小于30秒的任何时间都会减少。 我找到了这个答案https://stackoverflow.com/a/19291128/99401并将SQL更改为 SQL小提琴 但这只会四舍五入。如何根据秒取整? 问题答案: 一种解决方案(SQL Fiddle)可以

  • 问题内容: 如何将两个除数的结果取整,例如 和我一样 $ testOne应当将其舍入为“ 2”作为3/2 = 1.5的答案时包含“ 1” 问题答案: 要进行舍入运算,只需将其加到分子上即可。 例子,四舍五入: 例子,四舍五入: 要四舍五入,将其加到分子(一半将四舍五入):