ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-21, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

NestJS සමඟ මුදල් ගණනයේ දෝෂය නිමාවට! 0.1+0.2 ගැටලුවට නව විසඳුම

NestJS සමඟ මුදල් ගණනයේ දෝෂය නිමාවට! 0.1+0.2 ගැටලුවට නව විසඳුම

ජාවාස්ක්‍රිප්ට් කන්සෝලයක් විවෘත කර 0.1 + 0.2 ටයිප් කළාම 0.3 වෙනුවට 0.30000000000000004 ලැබෙනවා. මේක කම්පියුටරයේ දශම සංඛ්‍යා බයිනරී පදනමින් සංග්‍රහ කරගැනීමේ සීමාවන් නිසා සිදුවන සාමාන්‍ය ගැටලුවක්.

බොහෝ භාෂා වල මේ වගේ ගැටලුවක් පෙනේ, නමුත් දෛනික ජීවිතයේ එය නරඹන්න බෑ. පින්තූරයක පිකසෙල් එකක් හෝ චාට් එකක සුළු රවුම් කිරීමක් වගේ අඩු තරම් වෙනස් වීමක් පමණයි. එහෙත් FinTech පසුබිමක මේ සුළු වැරදි මිලියන ගණනක් ගනුදෙනු වලින් එකතු වලා සැලකිය නොහැකි මුදලක් බවට පත්වේ.

උදාහරණයක් ලෙස, එක් $10 ගනුදෙනුවකට 2.9% ප්‍රතිශතය සහ $0.30 ස්ථාවර ගාස්තුවක් යෙදෙනවා කියලා ගනිමු. සරල කේතයක් amount * 0.029 + 0.30 ලෙස ලිවුවාම පළමු වරට නිරවද්‍යයි. නමුත් මිලියන ගණනක් ගනුදෙනු වලදී floating‑point වැරදි එකතු වෙලා සෙන්ට් කිහිපයක් අඩු‑අධික වීමක් සිදුවේ. ඒක පරීක්ෂා කිරීම අඩු‑දර්ශනයක් නිසා මුදල් වාර්තා අතර අසමතුලිතතාවයක් පෙනෙයි.

මෙම ගැටලුවට සරල විසඳුම වන්නේ මුදල් දශම සංඛ්‍යා ලෙස නෙවෙයි, අති සුළු ඒකක (cents) ලෙස සුරක්ෂිත කිරීම. උදාහරණයට, $10 වෙනුවට 1000 cents ලෙස ගබඩා කරනවා. සම්පූර්ණ සංඛ්‍යා පද්ධතියක් භාවිතා කිරීම නිසා floating‑point ගැටලුව අතුරුදන් වේ.

NestJS හි validation pipe එකක් හරහා අයදුම්පතට ඇතුළත් වුනු මුදල් අගය සෙන්ට් පමණක් බව පරීක්ෂා කරගත හැක. අනුමත නොකළ decimal අගයක් ඇතුළත් වුනොත්, BadRequestException එකක් දී පසුබිමට පවා යන්නේ නෑ. මෙයින් දෝෂය මුලින්ම වැළැක්වීමේ හැකියාව ලැබේ.

සෙන්ට් පදනමින් ගණනය කිරීමේදී, ප්‍රතිශත ගාස්තුව Math.round මගින් වටා ගෙන, ස්ථාවර ගාස්තුව (30 සෙන්ට්) එක්ක එකතු කරයි. මෙය සෑම පියවරකම නිශ්චිත වටාකිරීමක් ලබා දෙයි, ඉදිරි ගණිත ගැටලුවක් නොසිදු කරයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ FinTech ආරම්භකයන්, බැංකු සමාගම් හා ඩිජිටල් ගෙවීම් සේවා සපයන සංස්ථා සඳහා මේ තාක්ෂණය අත්‍යවශ්‍ය වේ.

  • දශම ගැටළුව නිසා සිදුවන මුදල් අහිමිවීමක් අවසන් කරයි.
  • NestJS වැනි ප්‍රචලිත Node.js ෆ්‍රේම්වර්ක් එකක් භාවිතා කරමින්, දේශීය සංවර්ධකයින්ට ලොකු පරිමාණයේ පද්ධති ඉදිරිපත් කිරීම පහසු වේ.
  • විශ්වවිද්‍යාල සිසුන්ට money handling සම්බන්ධ නවතම පද්ධති රීති ඉගෙන ගත හැක, එමඟින් රැකියා අවස්ථා වැඩි වේ.

ඉදිරියේදී, නිවැරදි ගණිත පද්ධතියක් නැතිව, තොරතුරු ආරක්ෂාව හා ආර්ථික විශ්වාසය පවා අභියෝගයට මුහුණ දේ. NestJS සමඟ මෙම ගැටලුව විසඳා, ශ්‍රී ලංකාවේ තාක්ෂණික ආර්ථිකය තවත් ශක්තිමත් කරගත හැක.

ඔබේ පද්ධතියේ මුදල් ගණනයේ අඩු‑දෝෂයක් දැන ගැනීමට, අදම NestJS භාවිතා කර බලන්න.

💡 NestJS සමඟ ඔබේ මුදල් ගණනය නිවැරදි කරගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#NestJS #Fintech #JavaScript #Backend #SriLanka