문제

왜요?

C:\path\>manage.py shell
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.    

>>> import locale
>>> locale.getlocale()
('Spanish_Colombia', '1252')
>>> locale.currency( 1885, grouping=True )
'$ 1.885,00'
>>> locale.currency( -1885, grouping=True )
'($ 1.885,00)'

$ -1.885,00를 반환 할 수 없습니까?

도움이 되었습니까?

해결책

신용 (긍정적)이 아닌 차변 (즉, 음수)임을 나타내는 숫자 주위의 괄호는 회계의 일반적인 규칙입니다 (괄호가 앞쪽의 작은 마이너스/대시보다 눈에 띄기 때문에 구별하는 것이 중요합니다. 크레딧의 차감 ;-).

따라서 많은 지역이 그 협약을 음수를 포맷하기위한 "적절한 방법"으로 표현한다는 것은 놀라운 일이 아닙니다. 괄호와 같은 $ 표시 및 쉼표와 같은 로케일 컨벤션의 일부를 사용하려면 괄호와 같은 다른 것과 같은 다른 사람들을 사용하려면 로케일에 대한 입력으로 귀하의 수를 사용하는 대신 ABS (YourNumber)를 사용해야합니다. 그런 다음 통화, yournumber <0이라면 작은 문자열 조작을 수행하여 첫 번째 숫자를 찾아서 대시가있는 대시가있는 새 문자열을 형성합니다 (또는 네거티브 량을 표현하는 원하는 방법에 따라 "마이너스[대시]를 서명하면 통화 기호 앞에서 또는 전체 문자열의 오른쪽에 갈 수 있습니다).

왜 그 결과를 읽을 사람이라면 누구든지 로케일의 모든 규칙이 그에 적용되기를 원하지 않는다고 생각합니까?

다른 팁

로케일에서 괄호가있는 숫자를 둘러싼다면 음수임을 나타냅니다. 제어판/지역 및 언어 설정에서 이것을 확인하십시오. Python은 아마도 거기에서 그것을 집어 들었을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top