字符串格式加倍到00,00 - Java

Kev*_*vin 1 java string-formatting

我正试图制作一个双倍的格式00,00

9,21341> 09,21

10,4312> 10,43

1,01233> 01,01

42,543> 42,54

目前我正在使用String.Format来舍入double

String.format("%s %02.2f - ", example.getName(), example.getDouble());
Run Code Online (Sandbox Code Playgroud)

如果它小于10,则不会在double前面添加额外的零.

bez*_*max 7

Formatter类(它是String.format方法的基础)使用"fields"的概念进行操作.也就是说,每个字段都具有某种特定的大小并且可以填充.在你的情况下,你可以使用格式化%05.2f,这意味着一个大小为5的字段,在用左边的零填充的点之后有2个符号.

但是,如果您需要一些细粒度的数字格式,通常您要查找的是DecimalFormat类,它允许您轻松自定义数字的表示方式.

示例(ideone链接):

import java.util.*;
import java.lang.*;
import java.io.*;
import java.text.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        DecimalFormat decimalFormat = new DecimalFormat("#00.00");
        System.out.println(decimalFormat.format(0.99f));
        System.out.println(decimalFormat.format(9.99f));
        System.out.println(decimalFormat.format(19.99f));
        System.out.println(decimalFormat.format(119.99f));
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

00.99
09.99
19.99
119.99
Run Code Online (Sandbox Code Playgroud)