2
インドルピー(₹)の対応する記号であるサーバーからこの値(20B9)を通貨として受け取っています。 utf値から通貨記号をテキストビューに表示する方法。Unicode値を文字に変換する方法は?
以下は、サーバーから受信したJSONObjectです。出力として
"currency": {
"name": "Indian rupee",
"isoCode": "INR",
"symbol": "20B9",
"decimalDigits": 2
}
そして、私は
public static String formatAmount(Currency currency, double amount) {
String currencySymbol = "\\u"+currency.getSymbol();
DecimalFormat df = new DecimalFormat("#");
df.setMaximumFractionDigits(0);
byte[] utf8 = new byte[0];
try {
utf8 = currencySymbol.getBytes("UTF-8");
currencySymbol = new String(utf8, "UTF-8");
System.out.println(currencySymbol);
} catch (UnsupportedEncodingException e) {
currencySymbol = currency.getIsoCode();
}
return currencySymbol + df.format(amount);
}
製品のコストをフォーマットするbelove機能を使用しています。しかし、私は\ u20B9を取得していない₹
今はどうなっていますか?完全なテキストを表示してください。 20B9は私にとってutf-8の値のようには見えませんが、20はスペースcharです。 – greenapps
20B9はUnicodeポイント値です。私。 U + 20B9。 JSONを使って作業しているときに、サーバーが非ASCIIから '\ u'プレフィックスを持つUnicodeポイント値にエスケープすることは有効です。 JSONを使用している場合は、適切なデコーダがそれをデコードする必要があります。そうでなければhttp://stackoverflow.com/questions/18380901/how-do-i-convert-unicode-codepoint-to-the-character-presentation –
私たちがさらに助けることができるようにコード –