나는 사용자가 통화를 선택할 수있는 돈 관련 앱을 만들려고했다. 시도한 Mysql 데이터 형식은 십진수 (19,4)입니다. 이제 문제는 세 가지 정밀도가 필요한 통화가 거의없고 두 가지가 필요합니다. 예 : 오만 rial에는 세 가지 정밀도가 필요합니다. 즉 1000 baisa = 1 오만 리알. 따라서 고객은 6.783 오만 리알에 입장 할 수 있습니다. 내 미국 고객은 100 센트 = 1 달러로 2 개의 정밀도 만 있으면되며 5.50을 입력 할 수 있습니다.돈을위한 Mysql 데이터 유형
십진수 (19,4)를 사용하여이 두 항목을 데이터베이스에 삽입하면 각각 6.7830 및 5.5000으로 저장됩니다.
이제 진짜 고통은 오마이 (Omani) 리알 엔트리에 여분의 0을 표시하고 US 달러로 00을 표시하고 싶지 않기 때문에 항목을 표시해야 할 때입니다. 나는 또한 float를 시도했지만 마지막 숫자는 때때로 반올림됩니다.
반올림 또는 추가 0없이 정확한 항목을 저장할 수있는 mysql 데이터 유형이 있습니까? 그런 입장이 없다면, 나는 그것을 어떻게 신통하게 할 수 있습니까?
어떻게하면 적절한 자릿수를 추적 할 수 있습니까? 마침표 다음에 자릿수를 추적하기 위해 새 coloumn을 만들어야합니까? 즉 6.783의 경우 3 점을 저축해야합니까? – Rishad
대부분의 정밀도가 필요한 통화에서 사용할 정밀도로 열 유형을 선언하십시오. 다른 모든 통화는이 데이터 형식을 사용할 수도 있습니다. 응용 프로그램에는 통화 유형에 따라 값을 다르게 형식화하는 논리가 있어야합니다. –
'DECIMAL (.., 4)'는'(.., 2)'보다 단지 1 바이트 이상 걸리기 때문에 많은 공간을 낭비하지 않는다는 것에주의하십시오. 나는 원치 않는 꼬리표 0을 제거하는 것은 응용 프로그램에 달려 있다는 것에 동의한다. –