Как я могу отформатировать турки sh лира с символом? - PullRequest
4 голосов
/ 22 апреля 2020

Я пытался сделать это с локалью, но он появляется только как текст, а символ не появляется. Я использую JAVA 14 SDK.

Код, который я пробовал:

  Locale tr = new Locale("tr", "TR");
  BigDecimal points = new BigDecimal(175678.64);
  System.out.println(NumberFormat.getCurrencyInstance(tr).format(points));

Вывод:

175.678,64 TL

Я хочу:

₺175.678,64

Ответы [ 3 ]

0 голосов
/ 22 апреля 2020

попробуйте изменить 'Locale.CANADA' в вашей стране

NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CANADA);
        String currency = format.format(number);
        System.out.println("Currency in Canada : " + currency);
0 голосов
/ 22 апреля 2020

Нет проблем

Я разбил ваш код на несколько строк для облегчения отладки.

Когда я запускаю его на сайте IdeOne.com , я получаю желаемый результат.

Кстати, вы должны передать свой введенный номер в виде текста (добавить кавычки). В противном случае вы побеждаете цель использования BigDecimal.

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

import java.math.* ;
import java.text.* ;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here

Locale locale = new Locale("tr", "TR");
  BigDecimal points = new BigDecimal( "175678.64" ) ;


NumberFormat f = NumberFormat.getCurrencyInstance( locale ) ;
String output = f.format( points ) ;

System.out.println( output ) ;


    }
}

При запуске:

75175.678,64

0 голосов
/ 22 апреля 2020

Рассмотрите возможность использования Currency класса java.util.Currency. Класс Currency имеет два метода getSymbol() и getSymbol(Locale locale). В вашем случае вам следует использовать второй метод с параметром locale. Это вернет String, который представляет символ валюты для турки sh лира.

Вы можете инициализировать свой Currency объект следующим образом:

Currency currency = Currency.getInstance(tr);

и

currency.getSymbol(tr);

вернет символ валюты как String

Кроме того, вы должны знать, что уникальное представление символа turki sh lira в виде символа в Java равно \u20BA

...