2017-10-12 17 views
0

10進数はどのように書式設定されますか?文字列の書式設定0.2〜2000

0.2は、2000と表示されます。

私はまたしても値0として現れるだろうと望ん0000

+2

'* 10000'と' String.format' –

+0

私の理解のために:0.2000を印刷しますか? –

答えて

0

10進数の整数値を表示したい場合(ラウンドアップ/ダウン)、それを丸めて* 10000してから、RCで応答するようにフォーマットしてください。

public static void main(String[] args) { 

    float original = 0.2f; 
    float multiplied = original *10000; 
    int intvalue = (int)multiplied; // you can change to round up/down 

    String d = String.format("%04d", intvalue); 
    System.out.println("Value d : "+d); 

} 

形式のため、ここでチェックhttps://dzone.com/articles/java-string-format-examples

0

これは、所望の出力が2000であると仮定するソリューションです。

System.out.println(String.format("%.4f", 0.2).replaceFirst("^0\\.", "")); 

同じ0000用:

System.out.println(String.format("%.4f", 0.0).replaceFirst("^0\\.", "")); 

そのための方法を使用できます。

private static String convert(double v) { 
    return String.format("%.4f", v).replaceFirst("^0\\.", ""); 
} 
+0

0.2から0000を出力して0から出力する必要があります –

0

私が最初に間違っていました。あなたのケースに合った正しい答えはDecimalFormatterです。あなたは出力が#0000を使用して4ヶ所にフォーマットされますdouble d;

DecimalFormat formatter = new DecimalFormat("#0000"); 
System.out.println(formatter.format(d * 10000)); 

を定義していると仮定します。

0 -> 0000 
0.2 -> 2000 
0.8 -> 8000 
関連する問題