이 간단한 JavaScript 함수는 d3-format을 사용하여 문자열과 통화 코드를 형식 번호로 변환합니다.d3 형식의 숫자로 천 단위 구분 기호가 표시되지 않습니다.
import * as d3Format from 'd3-format';
import d3 from 'd3';
export const toCurrency = (number, currencyCode) => {
const formatDef = {
"decimal": ".",
"thousands": ",",
"grouping": [3],
"currency": [convertCodeToSymbol(currencyCode), ""]};
const locale = d3Format.formatLocale(formatDef);
return locale.format("($.2f")(number);
};
const convertCodeToSymbol = (currencyCode) => {
const conversions = {
"USD": "$",
"EUR": "€",
"GBP": "£"
};
return conversions[currencyCode] ? conversions[currencyCode] : currencyCode;
};
표시되지 않는 천 단위 구분 기호를 제외하고 작동합니다. 감안할 때 (1999, "USD") "$ 1999.00"을 돌려줍니다. 나는 문서를 두 번 확인했지만 수천 및 그룹화 속성이 모두 올바르게 보입니다. 나는 "$ 1,999.00"을 얻으려고 노력하고있다.
(주 가져 오기 D3 라인은 필요하지 않습니다,하지만 난 그냥 내가. 내가 설치 한 라이브러리의 일부가 누락되지 않았 확인하기 위해 포함 모두 NPM과 D3와 D3-형식입니다.)
아 물론 :
본 실시 예
차이를 나타낸다. 이제 내 테스트가 끝났어, 고마워! – Mike