બ્લૉગ

Boring Expenses પૈસા કેવી રીતે સંગ્રહે છે (અને તે પૂર્ણાંક કેમ છે)

  • એન્જિનિયરિંગ
  • ios
  • swift

એક પૈસો ગુમાવવાની આ એક ક્લાસિક રીત છે. લગભગ કોઈ પણ પ્રોગ્રામિંગ ભાષાને પૂછો કે 0.1 + 0.2 કેટલા થાય, અને તે કહેશે 0.30000000000000004. આ ભાષાની ભૂલ નથી — બાઇનરી ફ્લોટિંગ-પૉઇન્ટ સંખ્યાઓ આ રીતે જ કામ કરે છે. મોટાભાગના દશાંશ અપૂર્ણાંકો તે ચોક્કસ રીતે દર્શાવી શકતી નથી, તેથી નાની ભૂલો ઘૂસી જાય છે. ભૌતિકશાસ્ત્ર માટે ઠીક; પૈસા માટે નહીં.

ફાઇનાન્સ ઍપ માટે “લગભગ બરાબર” એ ખોટો જવાબ છે. તેથી Boring Expenses કોઈ રકમ ક્યારેય દશાંશ તરીકે સંગ્રહતી જ નથી.

સૌથી નાનો એકમ પૂર્ણાંક તરીકે રાખો

પૈસાનું સોફ્ટવેર હંમેશાંથી જે યુક્તિ વાપરતું આવ્યું છે તે છે સૌથી નાના એકમમાં કામ કરવું અને તેને પૂર્ણાંક તરીકે રાખવો. $4.20 ને બદલે તમે 420 સંગ્રહો છો — સેન્ટની સંખ્યા. પૂર્ણાંકો ચોક્કસ હોય છે. આખો દિવસ સરવાળા, બાદબાકી અને કુલ કરો, રાઉન્ડિંગની ધૂળ ક્યારેય જમા નહીં થાય.

Boring Expenses તેનાથી એક ડગલું આગળ જઈને રકમો ખૂબ ઝીણા પેટા-એકમોમાં રાખે છે (વિચારો “દરેક પૂર્ણ એકમના 10 કરોડ”), જે ચલણો અને ભવિષ્યની જરૂરિયાતો માટે પુષ્કળ અવકાશ છોડે છે, છતાં બધું એક સાદો Int જ રહે છે. સ્ક્રીન પર તમે જે જુઓ છો તેમાં અને તેમાંથી રૂપાંતર છેક કિનારીએ થાય છે — જ્યારે તમે રકમ લખો છો, અને જ્યારે અમે તેને બતાવવા માટે ફૉર્મેટ કરીએ છીએ.

// ઉદાહરણ, ચોક્કસ કોડ નહીં:
let display = Decimal(amountInSubunits) / Decimal(subunitsPerUnit)
let text = display.formatted(.currency(code: userCurrency))

તમારા માટે આ કેમ મહત્ત્વનું છે

આ એક નાનો, સાદો નિર્ણય છે — બરાબર અમને ગમે તેવો. તમે તેને ક્યારેય નહીં જુઓ, અને એ જ મુદ્દો છે: આંકડા બસ બરાબર મળી જાય છે.