如何以浮点格式向右返回两位小数的字符串?

时间:2016-02-21 05:35:35

标签: java string junit decimal decimalformat

目前,我的toString方法显示带有一位数的整数余额 小数点后。它在JUnit测试中以这种方式显示:“预期< 20.0>但是:< 200.0>”我需要< 200.00>而不是< 200.0>。我尝试了几种不同的配方,但似乎无法得到它。谢谢!

  public class Bank {

    private String name;
    private double balance;
    private String acctNum;

    public Bank(String a, String n, double b) {
        name = n;
        acctNum = a;
        balance = b;
    }

    public String toString() {
        DecimalFormat f = new DecimalFormat("#.00");
        // new DecimalFormat("###.##").format(getBalance());
        return "Account Number: " + getAcctnum() + "Name: " + getName() + "Balance: "
                + (f.format(getBalance()));
    }

    // JUnit test case:
    @Test
    public void testToString() {
        Bank b = new Bank("341ngr", "Joe Smoe", 200);
        assertEquals("Joe Smoe", b.getName());
        assertEquals("341ngr", b.getAcctnum());
        assertEquals(20, b.getBalance(), 0.001);
    }
}

2 个答案:

答案 0 :(得分:1)

在你的assertEqual行中,试试这个:

assertEquals("20.0",String.format("%.2f", b.getBalance()));

答案 1 :(得分:-2)

您可以使用

String.format( "%.2f", yourdoublevalue);