[解決済み] 通貨単位で小数をフォーマットするには?
2022-03-02 04:33:56
質問
小数を以下のようにフォーマットする方法はありますか?
100 -> "100"
100.1 -> "100.10"
丸数字の場合は、小数点以下は省略する。それ以外の場合は、小数点以下2桁で書式設定します。
どのように解決するのですか?
どうでしょう。問題は、100がfloatなら100になることはなく、99.99999999とか100.0000001とか普通になることです。
もしそのようにフォーマットしたいのであれば、イプシロン、つまり整数値からの最大距離を定義し、その差が小さければ整数値、そうでなければフロートを使用する必要があります。
こんな感じでいいんじゃないでしょうか。
public String formatDecimal(float number) {
float epsilon = 0.004f; // 4 tenths of a cent
if (Math.abs(Math.round(number) - number) < epsilon) {
return String.format("%10.0f", number); // sdb
} else {
return String.format("%10.2f", number); // dj_segfault
}
}
関連
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] 数字を通貨文字列としてフォーマットする方法
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] JavaScriptで10進数から16進数へ変換する方法
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] 通貨を表すのにDoubleやFloatを使ってはいけないのですか?
-
[解決済み] コンマを桁区切りとして数字を印刷するには?
-
[解決済み] 小数点以下2桁の数字を表示する
-
[解決済み] Pythonで浮動小数点数を固定幅にフォーマットする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み】DecimalFormatの小数点以下の区切り文字をカンマからドット/ポイントに変更するには?