আমি printf
আমার সিস্টেমে দুটি ভিন্ন বাস্তবায়ন পরীক্ষা করছি : printf (GNU coreutils) 8.26
এবং এর সাথে সংস্করণটি বান্ডিল হয়েছে zsh 5.3.1
। আমি পরীক্ষা করছি যে অর্ধ সংখ্যাটি বৃত্তাকার, অর্থাত্ 1.5, 2.5, 3.5,… 9.5 এর জন্য।
$ for i in {1..9}; do /usr/bin/printf '%.0f\n' "${i}.5"; done
2
2
4
4
6
6
8
8
10
$ for i in {1..9}; do printf '%.0f\n' "${i}.5"; done
2
2
4
4
6
6
8
8
10
এখানে, উভয় পরিষ্কারভাবে এমনকি বৃত্তাকার অর্ধেক । যাইহোক, যখন আমি প্রথম দশমিক স্থানে গোল করে পরীক্ষা করি তখন বিষয়গুলি বিভ্রান্ত হয়। অর্থাৎ, আমি 1.15, 1.25, 1.35,… 1.95 এর জন্য পরীক্ষা করছি।
$ for i in {1..9}; do /usr/bin/printf '%.1f\n' "1.${i}5"; done
1.1
1.2
1.4
1.5
1.5
1.6
1.8
1.9
2.0
$ for i in {1..9}; do printf '%.1f\n' "1.${i}5"; done
1.1
1.2
1.4
1.4
1.6
1.6
1.8
1.9
1.9
উভয় বাস্তবায়নই এটি আলাদাভাবে করে এবং আমি উভয়ই কোনও পরিষ্কার প্যাটার্ন দেখতে পাচ্ছি না। এই দুটি printf
গুলি বৃত্তাকার প্রথম দশমিক স্থানে কিভাবে যায়?