வலைப்பதிவு
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 ஆப்புடன் பைசாவுக்குப் பைசா பொருந்துகிறது.
இது ஒரு சிறிய, பகட்டில்லாத முடிவு — எங்களுக்குப் பிடித்த வகை. நீங்கள் இதை ஒருபோதும் பார்க்க மாட்டீர்கள், அதுதான் நோக்கம்: எண்கள் சரியாகக் கூடுகின்றன.