আমি একটি মাইএসকিউএল ডাটাবেসের শীর্ষে পিএইচপিতে লিখিত লিগ্যাসি কোডের একটি বিশাল স্তূপ উত্তরাধিকার সূত্রে পেয়েছি। আমি যে জিনিসটি লক্ষ্য করেছি তা হ'ল অ্যাপ্লিকেশনটি doubles
স্টোর এবং ডেটা ম্যানিপুলেশনের জন্য ব্যবহার করে।
double
রাউন্ডিং ত্রুটির কারণে কীভাবে আর্থিক ক্রিয়াকলাপগুলির জন্য উপযুক্ত নয় তা উল্লেখ করে আমি এখন অসংখ্য পোস্ট জুড়ে এসেছি । তবে, পিএইচপি কোডে কীভাবে আর্থিক মানগুলি পরিচালনা করা উচিত এবং একটি মাইএসকিউএল ডাটাবেসে সংরক্ষণ করা উচিত তার সম্পূর্ণ সমাধান আমি এখনও পাইনি।
বিশেষত পিএইচপি-তে অর্থ পরিচালনার ক্ষেত্রে কী সেরা অনুশীলন রয়েছে?
আমি যে বিষয়গুলি সন্ধান করছি সেগুলি হ'ল:
- ডাটাবেসে ডাটা কীভাবে সংরক্ষণ করা উচিত? কলামের ধরণ? আকার?
- সাধারণ সংযোজন, বিয়োগফলে ডেটা কীভাবে পরিচালনা করা উচিত। গুণ বা বিভাগ?
- আমি কখন মানগুলি গোল করব? কতটি রাউন্ডিং যদি গ্রহণযোগ্য হয়?
- বড় আর্থিক মান এবং নিম্ন মানগুলি পরিচালনা করার মধ্যে কি পার্থক্য রয়েছে?
দ্রষ্টব্য: আমি কীভাবে দৈনন্দিন জীবনে অর্থের মূল্যবোধের মুখোমুখি হতে পারি তার একটি খুব সরল নমুনা কোড (সরলকরণের জন্য বিভিন্ন সুরক্ষার উদ্বেগ উপেক্ষা করা হয়েছিল real অবশ্যই বাস্তব জীবনে আমি আমার কোডটি এর আগে কখনও ব্যবহার করব না):
$a= $_POST['price_in_dollars']; //-->(ex: 25.06) will be read as a string should it be cast to double?
$b= $_POST['discount_rate'];//-->(ex: 0.35) value will always be less than 1
$valueToBeStored= $a * $b; //--> any hint here is welcomed
$valueFromDatabase= $row['price']; //--> price column in database could be double, decimal,...etc.
$priceToPrint=$valueFromDatabase * 0.25; //again cast needed or not?
আমি আশা করি আপনি এই নমুনা কোডটি আরও ব্যবহারের ক্ষেত্রে আনা এবং অবশ্যই আক্ষরিক অর্থে না নেওয়ার উপায় হিসাবে ব্যবহার করেন।
বোনাস প্রশ্ন যদি আমি কোনও ওআরএম যেমন ডক্ট্রিন বা প্রোপেল ব্যবহার করি তবে আমার কোডে অর্থ ব্যবহার করা কতটা আলাদা হবে।
decimal
সি # তে টাইপটির সীমাবদ্ধতা সীমিত থাকলেও আর্থিক মানগুলির জন্য এটি উপযুক্ত।