格式化 positive/negative double,删除小数点后的 0(如果存在)

Format a positive/negative double, dropping the 0 after the decimal (if present)

是否有单个适用的语句将以下双精度示例格式化为字符串(在 java 中)?

50 显示为 +50

-50.4 显示为 -50.4

编辑: 如果小数点后有一个 0,我需要将其删除。如果不是 0,那么我需要单独保留它。

这似乎有效:

DecimalFormat fmt = new DecimalFormat("+0.#;-0.#");
fmt.format(50.0);

给+50

fmt.format(-50.4);

给出 -50.4