1

다른 질문에서 같은 질문을하면 확실하지 않습니다. 지금까지 stackoverflow 에서이 질문을 보지 못했지만, 따라서 동일한 게시.숫자 서식을 지정할 때 통화 기호를 배치 할 위치를 결정하는 방법은 무엇입니까?

통화를 기준으로 숫자의 서식을 지정해야하는 경우가 있습니다.

enter image description here

은 내가 당신에게 내 질문에 더 많은 컨텍스트를 제공하기 위해 위의 표를 설명해 보자. UnitedStates의 경우 숫자는 USD976,543.21으로 표시됩니다. 여기에서 통화 기호는 숫자 앞에 앞에 놓인 USD입니다. fr-FR 로케일의 경우 약간 다릅니다. 기호는 자릿수 뒤에 표시됩니다.

내 모든 서식이 프런트 엔드에서 발생하지만 백엔드에서는 발생하지 않습니다. 나는 FE에 # 형식으로 형식을 제공하고 있으며, 자택 코드는 그 형식으로 숫자를 형식화합니다. 예를 들어 미국의 경우 USD ###, ###, ###. ####을 제공하고 있습니다. 여기서는 프론트 엔드가 아래와 같은 정보를 알게해야 프론트 엔드가 즉각적으로 동일한 형식을 취하게됩니다. 내 질문은 : 수의 또는 끝을 향해

  1. 가 통화를 배치, 시작 : 는 아래의 백엔드에서 정보를 얻을 수있는 방법이 있습니까?
  2. 숫자와 기호 사이에 공백이 있습니까? USD976,543.21과 976 543,21 €를보십시오. 유로 기호에는 통화 기호와 숫자 사이에 공백이 있지만 USD에는 사용할 수 없습니다.

저는 java.util.Currency를 사용하고 있습니다.

답변

0

당신은 귀하의 요구에 대한 Globalizejs을 사용할 수 있습니다

공식 유니 코드 CLDR JSON 데이터를 활용하여 국제화 및 현지화에 대한

자바 스크립트 라이브러리

그것은 시작 아주 쉽게 그리고 당신이에 대해 걱정할 필요가 없습니다 통화 코드를 앞에 또는 마지막에 배치하면 도서관에서 로캘 및 currencyCode에 따라 처리합니다.

예 : 다른 로케일

var formatter; 

Globalize.locale("en"); 
formatter = Globalize.currencyFormatter("USD"); 

formatter(9.99); 
// > "$9.99" 

:

var deFormatter = Globalize("de").currencyFormatter("EUR"); 
deFormatter(9.99); 
// > "9,99 €" 
NumberFormat.getCurrencyInstance (

enter image description here

+0

나는 질문은 자바 생각하지 자바 스크립트 ... – Adam

+0

예, 나는 그것을 읽을 수는 있지만,이 라인은 내 모든 형식이 프런트 엔드에서 무슨 일이 일어나고'가 아닌 backend.' 내 눈에 들어왔다. 그러므로 그에게 쉬운 진화 된 해결책을주었습니다. :) –

+0

@NeerajJain에게 의견을 보내 주셔서 감사합니다. 번호 서식을 집에서 작성한 코드가 있습니다. 제가 놓친 것은 질문에서 물어 본 두 가지 질문입니다.통화 기호의 위치를 ​​어떻게 결정할 수 있습니까? 처음 또는 마지막입니까? 통화 코드와 기호 사이에 공백이 있습니까? – nimi

0

)는 특정 장소에서의 통화에 따른 번호를 포맷하는데 사용될 수있다 백엔드에서. 형식화 된 통화는 렌더링을 위해 FE로 전달 될 수 있습니다. 예를 들어 :

double num = 976_543.21; 

    NumberFormat defaultFormat = NumberFormat.getCurrencyInstance(new Locale("fr","FR")); 
    System.out.println(defaultFormat.format(num)); //output 976 543,21 € 

    Locale us = new Locale("en", "US"); 
    NumberFormat usFormat = NumberFormat.getCurrencyInstance(us); 
    System.out.println(usFormat.format(num)); //output $976,543.21 
+0

프런트 엔드에서 서식을 지정해야하는 경우 BE에서 숫자 서식을 지정하지 않습니다. 그것을하기 위해서 나는 더 많은 것들을 필요로한다. 1. 통화를 어디에 둘 것인지, 숫자의 시작 또는 끝으로, 어떻게 결정할 수 있는가. 2. 숫자와 기호 사이에 공백이 있는지 확인하십시오. – nimi