public static String formatAmountUpToTwoDecimalNumber(String amount)
{
if(amount==null || "".equals(amount))
{
return "";
}
Double doubleAmount = Double.valueOf(amount);
double myAmount = doubleAmount.doubleValue();
NumberFormat f = new DecimalFormat("###,###,###,###,##0.00");
String s = f.format(myAmount);
return s;
}
"###,###,###,###,##0.00"
,此模式的目的是什么?我相信这有两个目的
但是为什么在小数点之前"0"
而不是"#"
小数点之前呢?这个零的目的是什么?谢谢您的帮助。
Symbol Location Localized? Meaning
0 Number Yes Digit
# Number Yes Digit, zero shows as absent
来自:http
:
//docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
所以#
当没有数量未显示。前导0
表示小数点分隔符前至少应有1位数字。
java.text.DecimalFormat类用于根据自定义格式和按区域设置格式化数字。 示例 - 格式编号 在这个例子中,我们根据给定的模式格式化数字。 IOTester.java import java.text.DecimalFormat; public class I18NTester { public static void main(String[] args) {
使用DecimalFormatSymbols类,可以更改默认分隔符号,分组分隔符号等。 以下示例说明了相同的内容。 IOTester.java import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; public class I18NTester { public static void main(Stri
默认情况下,DecimalFormat对象使用JVM的语言环境。 我们可以在使用NumberFormat类创建DecimalFormat对象时更改默认语言环境。 在下面的示例中,我们将对两个不同的区域设置使用相同的模式,您可以发现输出中的差异。 IOTester.java import java.text.DecimalFormat; import java.text.NumberFormat;
问题内容: 我试图摆脱我的double值的十进制分隔符之后不必要的符号。我这样做是这样的: 但是,当我运行此代码时,它会抛出: 如我所见,在string这样的字符串上效果很好,但是在like这样的字符串上却令人窒息。我该如何解决?有没有比这更优雅的方式 有没有办法覆盖类的默认十进制分隔符值?还有其他想法吗? 问题答案: 通过 在我的double值的十进制分隔符之后摆脱不必要的符号 您是说要舍入到小
问题内容: 这是小代码来说明我所看到的 打印: 我要打印 我需要做什么? 问题答案: 在使用之前添加以下行: 查看其他舍入模式,看看哪种最适合您。 注意:此方法仅在JDK 1.6或更高版本中有效
DecimalFormat类是NumberFormat的子类。DecimalFormat类属于java.text包。通过getXxxInstance方法获得的NumberFormat对象实例实际上就是DecimalFormat类的对象实例。由于DecimalFormat类不是抽象类,因此,可以直接创建DecimalFormat类的对象实例。下面的代码使用无参数的构造方法创建了DecimalForm