如何使用符号格式化土耳其里拉?

Erc*_*car 6 java formatting locale

我尝试使用区域设置来执行此操作,但它仅显示为文本并且符号不显示。我正在使用 JAVA 14 SDK。

\n\n

我尝试过的代码:

\n\n
  Locale tr = new Locale("tr", "TR");\n  BigDecimal points = new BigDecimal(175678.64);\n  System.out.println(NumberFormat.getCurrencyInstance(tr).format(points));\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
175.678,64 TL\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想:

\n\n
\xe2\x82\xba175.678,64\n
Run Code Online (Sandbox Code Playgroud)\n

Bas*_*que 4

没问题

\n\n

我将您的代码分成多行以便于调试。

\n\n

当我在 IdeOne.com站点上运行它时,我得到了您想要的输出。

\n\n

顺便说一句,您应该将输入的数字作为文本传递(添加引号)。否则你就违背了使用 BigDecimal 的目的。

\n\n
/* package whatever; // don\'t place package name! */\n\nimport java.util.*;\nimport java.lang.*;\nimport java.io.*;\n\nimport java.math.* ;\nimport java.text.* ;\n\n/* Name of the class has to be "Main" only if the class is public. */\nclass Ideone\n{\n    public static void main (String[] args) throws java.lang.Exception\n    {\n        // your code goes here\n\nLocale locale = new Locale("tr", "TR");\n  BigDecimal points = new BigDecimal( "175678.64" ) ;\n\n\nNumberFormat f = NumberFormat.getCurrencyInstance( locale ) ;\nString output = f.format( points ) ;\n\nSystem.out.println( output ) ;\n\n\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

运行时:

\n\n
\n

\xe2\x82\xba175.678,64

\n
\n