我試圖做一個雙待這種格式00,00字符串格式雙到00,00 - Java的
例
9,21341> 09,21
10 ,4312> 10,43
1,> 01,01
42543> 42,54
目前我使用的String.Format圓雙
String.format("%s %02.2f - ", example.getName(), example.getDouble());
這並不在雙前加上額外的零,如果是小於10
我試圖做一個雙待這種格式00,00字符串格式雙到00,00 - Java的
例
9,21341> 09,21
10 ,4312> 10,43
1,> 01,01
42543> 42,54
目前我使用的String.Format圓雙
String.format("%s %02.2f - ", example.getName(), example.getDouble());
這並不在雙前加上額外的零,如果是小於10
Formatter類(是String.format
方法的基礎)使用「字段」的概念進行操作。也就是說,每個字段都有一些特定的大小,可以填充。在你的情況下,你可以使用一個像%05.2f
這樣的格式,這意味着一個大小爲5的字段,在用零填充到左邊的點後有2個符號。
但是,如果您需要一些細粒度的數字格式,通常您要查找的是DecimalFormat類,該類允許您輕鬆定製如何表示數字。
實施例():
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));
}
}
輸出:
00.99
09.99
19.99
119.99
謝謝!這正是我需要的。我將它轉換爲DecimalFormat。它像一個魅力:) – Kevin
字段寬度是2 - 這是不夠的,數字,點,那點後兩位數字。所以場地大小已經超過了 - 你如何期望它填充到左邊? – RealSkeptic
你是否試圖施放? – phantom