5

私はこの文字列を持っています:1303317717.65384-これはミリ秒(65384)のUNIXタイムスタンプ(1303317717)です。

これをJavaでfloatに変換するにはどうすればよいですか?配るときは常に1.06172723E9を取得していますが、1303317717.65384にしたいだけです。

ありがとう!

4

3 に答える 3

10

float変数内で​​これを十分な精度で表示することはできません。doubleを使用する必要があります。

デモ:

System.out.println(String.format("%f", Float.parseFloat("1303317717.65384")));
System.out.println(String.format("%f", Double.parseDouble("1303317717.65384")));

収量

1303317760.000000
1303317717.653840
于 2011-04-20T16:51:32.610 に答える
2

Javaのフロートの精度は約6桁です。ダブルが必要です。

文字列の形式の場合は、を使用できますDouble.parseDouble(String s)

于 2011-04-20T16:52:19.167 に答える
0

フロートの精度が不十分です。代わりにdoubleを使用してください。

于 2011-04-20T16:54:11.123 に答える