đ Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead
đ Implicitly using the default locale is a common source of bugs: Use String.format(Locale, ...) instead
⚠️ āĻāĻ āĻāϰāϰ āĻেāύ āĻāϏে?
āϝāĻāύ āϤুāĻŽি String.format(...) āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো, āĻিāύ্āϤু Locale āύিāϰ্āĻĻিāώ্āĻ āĻāϰো āύা, āϤāĻāύ āĻĄিāĻĢāϞ্āĻ Locale āĻŦ্āϝāĻŦāĻšাāϰ āĻšā§।
➡ āϏāĻŽāϏ্āϝা?
đ āĻিāύ্āύ Locale (āĻĻেāĻļ/āĻাāώা) āĻ
āύুāϝাā§ী āϏংāĻ্āϝাāϰ āĻĢāϰāĻŽ্āϝাāĻ, āĻĄেāĻ, āĻ্āϝাāĻĒিāĻাāϞাāĻāĻেāĻļāύ āĻāϤ্āϝাāĻĻি āĻāϞাāĻĻা āĻšāϤে āĻĒাāϰে!
đ āĻāĻ āĻĻেāĻļে āĻোāĻĄ āĻ িāĻāĻŽāϤো āĻাāĻ āĻāϰāϞেāĻ, āĻ
āύ্āϝ āĻĻেāĻļে āĻিā§ে āĻুāϞ āĻāĻāĻāĻĒুāĻ āĻĻেāĻাāϤে āĻĒাāϰে।
đ¨ āĻুāϞ āĻোāĻĄ (Locale āύিāϰ্āĻĻিāώ্āĻ āĻāϰা āĻšā§āύি)
String price = String.format("%.2f", 1234.56);
System.out.println(price); // ⚠️ āĻŦিāĻিāύ্āύ āĻĻেāĻļে āĻāϞাāĻĻা āĻāĻāĻāĻĒুāĻ āĻšāϤে āĻĒাāϰে!
➡ āĻāĻĻাāĻšāϰāĻŖ:
- đēđ¸ USA →
1234.56 - đĢđˇ France →
1234,56(āĻāĻŽা,āĻĻিā§ে āĻŦিāĻাāĻāύ!) - đŠđĒ Germany →
1.234,56(āĻĄāĻ āĻ āĻāĻŽা āĻāϞাāĻĻা!)
✅ āϏāĻŽাāϧাāύ: Locale āύিāϰ্āĻĻিāώ্āĻ āĻāϰে String.format(Locale, ...) āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো
String price = String.format(Locale.US, "%.2f", 1234.56);
System.out.println(price); // ✅ āϏāĻŦ āĻাā§āĻাā§ āĻāĻāĻ āĻĢāϰāĻŽ্āϝাāĻ āĻĨাāĻāĻŦে: 1234.56
đ āĻāĻŦে Locale āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦো?
✔ āϏংāĻ্āϝা (double, float) āĻĢāϰāĻŽ্āϝাāĻ āĻāϰাāϰ āϏāĻŽā§
✔ āϤাāϰিāĻ (Date, Calendar) āĻĢāϰāĻŽ্āϝাāĻ āĻāϰাāϰ āϏāĻŽā§
✔ āĻেāĻ্āϏāĻেāϰ āĻ্āϝাāĻĒিāĻাāϞাāĻāĻেāĻļāύ āĻŦা āĻāύāĻাāϰ্āĻļāύ āĻāϰাāϰ āϏāĻŽā§
đĄ āϏāĻŦāĻেā§ে āĻাāϞো āĻ āĻ্āϝাāϏ (Best Practice)
đš āϏāĻŦāϏāĻŽā§ String.format(Locale, ...) āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো।
đš Locale.US āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো āϝāĻĻি āĻĢāϰāĻŽ্āϝাāĻ āϏāĻŦ āĻাā§āĻাā§ āĻāĻ āϰাāĻāϤে āĻাāĻ।
đš Locale.getDefault() āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো āϝāĻĻি āĻŦ্āϝāĻŦāĻšাāϰāĻাāϰীāϰ āĻĢোāύেāϰ āϏেāĻিংāϏ āĻ
āύুāϝাā§ী āĻাāĻ āĻāϰāϤে āĻাāĻ।
✅ āĻāĻাāĻŦে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϞে āϤোāĻŽাāϰ āĻ ্āϝাāĻĒ āĻāύ্āĻাāϰāύ্āϝাāĻļāύাāϞ āĻāĻāĻাāϰāĻĻেāϰ āĻāύ্āϝ āĻŦাāĻ-āĻŽুāĻ্āϤ āĻšāĻŦে! đ
Comments
Post a Comment