tes*_*est 1 java double decimalformat kotlin
我需要这样的格式数字:
23.0 -> 23
23.20 -> 23.20
23.00 -> 23
23.11 -> 23.11
23.2 -> 23.20
23.999 -> 24
23.001 -> 23
1345.999 -> 1346 // Edited the question to add this from the OP's comment
Run Code Online (Sandbox Code Playgroud)
这是我的代码:java:
public static String toPrice(double number) {
DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols();
formatSymbols.setGroupingSeparator(' ');
DecimalFormat format = new DecimalFormat("#,###,###.##", formatSymbols);
return format.format(number);
}
Run Code Online (Sandbox Code Playgroud)
科特林:
fun Double.toPrice(): String = DecimalFormat("#,###,###.##", DecimalFormatSymbols().apply {
groupingSeparator = ' '
}).format(this)
Run Code Online (Sandbox Code Playgroud)
但对于输入 23.20 或 23.2,我得到结果 23.2。这对我来说是错误的。我需要 23.20。我应该使用哪种字符串模式来实现此结果?请帮我。
public static String toPrice(double number) {
if (number == (int) number) {
return Integer.toString((int) number);
} else {
return String.format("%.2f", number);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
包括千位分隔符
public static String toPrice(double number) {
if (number == (int) number) {
return String.format("%,d",(int)number);
} else {
return String.format("%,.2f", number);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |