【问题标题】:How to use add dot in Java's DecimalFormat to currency?如何在 Java DecimalFormat 中使用添加点到货币?
【发布时间】:2021-06-17 12:17:54
【问题描述】:

我正在尝试找到一种用点显示货币的方法,例如它应该是

1.234,56 克朗

目前我正在使用

pattern = "#,##0.00 ¤";
new DecimalFormat(pattern);

这不起作用,因为丹麦克朗由于某种原因在那里被定义为 kr 而不是官方认可的 kr。

我已经寻找一种使用 Unicode 值转义这些字符的方法,我会添加到模式中,但这不起作用。在此处的official 文档中,我也没有看到这样做的方法。

TLDR:我想在货币符号后添加句号。所以目前我有这样的kr,我想要的是kr.

【问题讨论】:

  • 你的意见是什么?
  • 您使用的是哪个版本的 Java?从 JDK9 开始,它应该输出“kr”。带一个点。如果您使用的是 JDK9 之前的版本,那么您使用的是过时且不受支持的版本。见bugs.openjdk.java.net/browse/JDK-8210528
  • @ErwinBolwidt 非常感谢,是的,这有帮助。我使用的是旧版本,我没有更新它的选项,这不取决于我。不过这会有所帮助!

标签: java decimalformat


【解决方案1】:

货币价值的输出取决于各自的国家/地区设置。如果您想像您的情况一样明确地使用小数点,则必须为Numberformat 设置相应的语言环境。例如。英语一点。

例如:

public String FormatWithPoint(double yourValue){
    NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
    nf.setGroupingUsed(false);
    return nf.format(yourValue);
}

编辑:如果您需要更多控制,还可以执行以下操作:

public String FormatCurreny(double yourValue){
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    nf.setGroupingUsed(false);
    DecimalFormatSymbols dfs = new DecimalFormatSymbols();
    dfs.setCurrencySymbol("kr.");
    dfs.setMonetaryDecimalSeparator('.');
    ((DecimalFormat) nf).setDecimalFormatSymbols(dfs);
    return nf.format(yourValue);
}

【讨论】:

    【解决方案2】:

    如果您只想要货币符号后的点,您可以设置自定义货币符号。在这里,我使用欧元(请注意,如果您想要所有货币而不是一种货币,可以使用 my_symbol.getCurrencySymbol()+"." 代替“€。”):

        DecimalFormatSymbols my_symbol = new DecimalFormatSymbols();
        my_symbol.setCurrencySymbol("€.");
        String pattern = "###,###.###¤";
        DecimalFormat decimalFormat1 = new DecimalFormat(pattern, my_symbol);
    
        String format = decimalFormat1.format(987654321.321);
        System.out.println(format);
    

    这给了

    987.654.321,321€.
    

    【讨论】:

    • 我想你误会了。目前,当我使用我发布的格式时,我有类似 1.234,56 kr 的东西。我想在 kr 部分之后添加句号。所以它将是 1.234,56 克朗。我想知道的就是如何在货币符号后添加那个点。
    • 对不起,我误会了。现在看看,应该是你需要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多