මා කැමති දෙය අර්ධ-අප් ක්රමය භාවිතා කරමින් දෙගුණයක් නූල් බවට පරිවර්තනය කිරීමේ ක්රමයකි - එනම් වටකුරු කළ යුතු දශම 5 නම්, එය සෑම විටම ඊළඟ අංකයට රවුම් වේ. බොහෝ අවස්ථාවන්හිදී බොහෝ දෙනා අපේක්ෂා කරන වටකුරු කිරීමේ සම්මත ක්රමය මෙයයි.
සැලකිය යුතු ඉලක්කම් පමණක් ප්රදර්ශනය කිරීමට මම කැමැත්තෙමි - එනම් පසුපස ශුන්යයන් නොතිබිය යුතුය.
මෙය සිදු කිරීමේ එක් ක්රමයක් වන්නේ ක්රමය භාවිතා කිරීමයි String.format
:
String.format("%.5g%n", 0.912385);
ප්රතිලාභ:
0.91239
එය විශිෂ්ටයි, කෙසේ වෙතත් එය සෑම විටම දශම ස්ථාන 5 ක් සහිත සංඛ්යා සැලකිය යුතු නොවුනත් පෙන්වයි:
String.format("%.5g%n", 0.912300);
ප්රතිලාභ:
0.91230
තවත් ක්රමයක් නම් DecimalFormatter
:
DecimalFormat df = new DecimalFormat("#.#####");
df.format(0.912385);
ප්රතිලාභ:
0.91238
කෙසේ වෙතත් ඔබට පෙනෙන පරිදි මෙය අර්ධ-වටකුරු භාවිතා කරයි. එනම් පෙර ඉලක්කම් ඉරට්ටේ නම් එය වටයනු ඇත. මම කැමති දේ මෙයයි:
0.912385 -> 0.91239
0.912300 -> 0.9123
ජාවා හි මෙය සාක්ෂාත් කරගත හැකි හොඳම ක්රමය කුමක්ද?