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

在Java中,返回一个只有两个小数的双精度值作为更大字符串的一部分?

司空奕
2023-03-14

作为更大程序的一部分,我有一个函数,当被调用时,返回返回的字符串。accountHolder、balance、Interestate和points是类型为RewardsCreditAccount的对象中的变量。例如,我在这里声明一个对象:

RewardsCreditAccount testAccount = new RewardsCreditAccount("Joe F. Pyne", 7384.282343837483298347, 0.173, 567);

所以这个对象将设置Account tHolder="Joe F. Pyne",余额=7384。282343837483298347,依此类推。

在下面的函数中,我以如下所示的字符串形式返回这些信息:

乔·派恩,$7384.282,17.28%,567点

使用此功能:

    public String toString() {
    return (accountHolder + ", $" +  + balance + 100*interestRate + "%, " + points + " points");
}

然而,它实际上是在返回这个:

Joe F. Pyne,7384.282美元,17.299999999999997%,567点

我试过了,但没有用

public String toString() {
    return (accountHolder + ", $" +  + ("%,1.2f",balance) + 100*interestRate + "%, " + points + " points");
}

这很烦人,因为我希望它只返回两位小数。我知道使用%1.2f可以做到这一点,但我不知道如何格式化语法。我将非常感谢任何帮助,让十进制值正确显示。谢谢!

共有3个答案

松锐藻
2023-03-14

您需要使用<code>字符串。format()格式化返回的字符串:-

String.format("%5.2f",balance)
司空鸣
2023-03-14

使用十进制格式设置值的格式。

new DecimalFormat("###.##").format(17.299999999999997);

供参考。

姚臻
2023-03-14

您必须使用字符串.format(); 与该格式字符串。

所以这个

public String toString() {
    return (accountHolder + ", $" +  + ("%,1.2f",balance) + 100*interestRate + "%, " + points + " points");
}

应该是:

public String toString() {
    return String.format("%s, $%,1.2f %s%%, %s points", accountHolder, balance, 100*interestRate, points );
}

设置格式化程序,以便根据您的需求打印。

 类似资料:
  • 问题内容: 有没有一种方法可以将字符串(从特定列)拆分为n个字符,而又不打断单词,每个结果都在自己的行中? 例子: 结果: 我知道我可以用来找到最后一个空间,但是我不确定如何获取剩余的空间并将其作为行返回。 问题答案: 尝试这样的事情。可能是您可以创建以下实现的SQL函数。 输出将是这样的:

  • 问题内容: 我写了一个程序,给我三个数组。一个字符串数组和两个dole数组…。但是我想将它们保存在一件事中(我不知道它是数组还是矩阵)。 。 例如:我有一个文件要读取,输入内容如下: 我已经制作了三个数组,一个数组存储字符串的名称,另外两个数组存储双打的两列… 但是我想将整行“(apple 2.3 4.5)”存储在一件事中,这样,如果我想找到苹果,我也可以获得apple的相关值.....能否请大家

  • 我是流运营商的忠实粉丝。它不在标准库中,但我发现它非常有用。如果流只有一个值,它将在中返回该值。如果它没有值或有多个值,则返回。 我之前问了一个问题,@ThomasJungblut想出了这个很棒的实现: 唯一的问题是,你必须把它放在你的电话开始时 而不是按顺序结束 这使得它比其他流机制更难阅读。 作为流处理的新手,有人知道如何在一系列流转换的末尾设置一个短路的< code > single emp

  • 我试图返回一个数字的一部分,如下所示: 我还想获得不同索引的数字的一部分,例如从2到5。在Python中,这是非常简单的,但由于某些原因,在Java中要做到这一点就不那么容易了。

  • 问题内容: 这是一个例子: 这将返回0,而不是应有的0.33333…。 有人知道吗? 问题答案: 这是因为和会被视为您没有另外指定时的处理方式,因此先评估, 然后将转换为。要解决此问题,请尝试,或者明确声明您正在处理double值。

  • 给定一个字符串数组,单词,返回该数组,其中包含所有偶数长度的字符串,并将其替换为空字符串。 如何返回字符串?我需要返回字符串以便为偶数打印空白,但现在我只是返回一个计数。这是我的代码,我认为一切都是正确的,我只是不知道如何返回它?