ਬਲੌਗ

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))

ਇਹ ਤੁਹਾਡੇ ਲਈ ਕਿਉਂ ਅਹਿਮ ਹੈ

ਇਹ ਇੱਕ ਛੋਟਾ, ਸਾਦਾ ਫ਼ੈਸਲਾ ਹੈ — ਬਿਲਕੁਲ ਉਹੋ ਜਿਹਾ ਜੋ ਸਾਨੂੰ ਪਸੰਦ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਕਦੇ ਨਹੀਂ ਦੇਖੋਗੇ, ਅਤੇ ਇਹੀ ਮਕਸਦ ਹੈ: ਅੰਕੜੇ ਬੱਸ ਸਹੀ ਜੁੜ ਜਾਂਦੇ ਹਨ।