ਬਲੌਗ
Boring Expenses ਪੈਸਾ ਕਿਵੇਂ ਸਟੋਰ ਕਰਦੀ ਹੈ (ਅਤੇ ਇਹ ਪੂਰਨ ਅੰਕ ਕਿਉਂ ਹੈ)
ਇੱਕ ਪੈਸਾ ਗੁਆਉਣ ਦਾ ਇਹ ਇੱਕ ਕਲਾਸਿਕ ਤਰੀਕਾ ਹੈ। ਲਗਭਗ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਤੋਂ ਪੁੱਛੋ ਕਿ 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))
ਇਹ ਤੁਹਾਡੇ ਲਈ ਕਿਉਂ ਅਹਿਮ ਹੈ
- ਕੁੱਲ ਬਿਲਕੁਲ ਸਹੀ ਹਨ। ਤੁਹਾਡਾ ਮਹੀਨਾਵਾਰ ਜੋੜ ਅਸਲ ਜੋੜ ਹੈ, ਕੋਈ ਅਜਿਹਾ ਅੰਕੜਾ ਨਹੀਂ ਜੋ ਸੂਚੀ ਵਧਣ ਨਾਲ ਇੱਕ ਪੈਸਾ ਖਿਸਕ ਜਾਵੇ।
- ਸਿੰਕ ਇਕਸਾਰ ਰਹਿੰਦਾ ਹੈ। ਇੱਕ ਪੂਰਨ ਅੰਕ ਦਾ ਮਤਲਬ ਤੁਹਾਡੇ iPhone, Watch ਅਤੇ iPad ’ਤੇ ਇੱਕੋ ਹੁੰਦਾ ਹੈ। ਮਿਲਾਉਣ ਲਈ ਕੋਈ ਭੰਬਲਭੂਸਾ ਨਹੀਂ।
- ਐਕਸਪੋਰਟ ’ਤੇ ਭਰੋਸਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੋ CSV ਤੁਸੀਂ ਐਕਸਪੋਰਟ ਕਰਦੇ ਹੋ, ਉਹ ਐਪ ਨਾਲ ਪਾਈ-ਪਾਈ ਮਿਲਦੀ ਹੈ।
ਇਹ ਇੱਕ ਛੋਟਾ, ਸਾਦਾ ਫ਼ੈਸਲਾ ਹੈ — ਬਿਲਕੁਲ ਉਹੋ ਜਿਹਾ ਜੋ ਸਾਨੂੰ ਪਸੰਦ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਕਦੇ ਨਹੀਂ ਦੇਖੋਗੇ, ਅਤੇ ਇਹੀ ਮਕਸਦ ਹੈ: ਅੰਕੜੇ ਬੱਸ ਸਹੀ ਜੁੜ ਜਾਂਦੇ ਹਨ।