Skip to content

Instantly share code, notes, and snippets.

@vincent-paing
Forked from dev-myatminsoe/MyanmarNumberUtils.java
Last active February 26, 2018 07:04
Show Gist options
  • Save vincent-paing/805c7ff367d1abd00bf2b8cd08d880d9 to your computer and use it in GitHub Desktop.
Save vincent-paing/805c7ff367d1abd00bf2b8cd08d880d9 to your computer and use it in GitHub Desktop.
Myanmar Number Utils
public class MyanmarNumberUtils {
private MyanmarNumberUtils() {
}
/**
* Transform Burmese number to English number (e.g "၃၀" -> "30")
*
* @param n Burmese Number in String type
* @return English Number in String type
*/
public static String getEngNumber(String n) {
StringBuilder eng = new StringBuilder(n.length());
for (char c : n.toCharArray()) {
if (isNumber(c)) {
eng.append((char) (c - 4112));
} else {
eng.append(c);
}
}
return eng.toString();
}
/**
* Transform English number to Burmese number (e.g "30" -> "၃၀");
*
* @param n English Number in String type.
* @return Burmese Number in String type.
*/
public static String getMMNumber(String n) {
StringBuilder mm = new StringBuilder(n.length());
for (char c : n.toCharArray()) {
if (isNumber(c)) {
mm.append((char) (c + 4112));
} else {
mm.append(c);
}
}
return mm.toString();
}
/**
* Transform English number to Burmese number (e.g 30 -> "၃၀")
*
* @param n English Number in int type
* @return Burmese Number in String type
*/
public static String getMMNumber(int n) {
return getMMNumber(String.valueOf(n));
}
/**
* Check whether a char is a number
*
* @param c a character
* @return true if c is a number, otherwise false
*/
public static boolean isNumber(char c) {
return '0' <= c && c <= '9' || '၀' <= c && c <= '၉';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment