私は、次のコードを持っています。これのデフォルト値(PreferenceScreen
xml)は1483318800000
に設定されています。何らかの理由で、それは科学的表記で始まります:1.48331876E12
そして、上記のコードを実行した後:1483318760000
。それは終わりに終わる。これはミリ秒単位のタイムスタンプであるため、正しいことが必要です。私は午後8時に撮影していますが、午後7時59分になってしまいます(変換後は消えてしまいます)。誤った変換
私がLong.parseLong(defaultValue.toString())
を実行すると、NumberFormatException
が得られます。科学的表記であるためです。
「良い」の変換をどうすれば保証できますか?
編集:変換コードは、上に示したコードの最初の行です。私はそうのようなデフォルト値を設定しています。そして、それはthis functionに渡さ
<TimePreference
android:defaultValue="1483318830000"
android:key="settings_night_mode_start_time"
android:title="@string/settings_night_mode_start" />
を。
1483318800000を1.48331876E12に変換する場所を修正しました。その部分が悪いです。正しい値は1.4833188E12である必要があります。 – Tom
会話コードを1.48331876E12に表示 –
「defaultValue」にはどのような種類がありますか? –