如何将“12345”波斯字符串数转换为双倍?
我想从文本字段中获取波斯语数字并将其保存在双变量中。我试过了:
product.setSellPrice(Double.parseDouble(txtProductSalePrice.getText()));
但这会引发Caused by: java.lang.NumberFormatException: For input string:
。
答案 0 :(得分:1)
您可以将字符串细分为字符并使用例如toCharArray()
遍历字符,然后将每个数字转换为其等效的英语。
String number = "";
for (char c : txtProductSalePrice.toCharArray()) {
if (c == "۱") {
number.concat("1");
continue;
}
if (c == "۲") {
number.concat("2");
continue;
}
....
}
return new BigDecimal(number).doubleValue();
我确信这可能会有所改善,但我并不完全确定char
是否支持非罗马字母。
答案 1 :(得分:0)
如果您使用Calligraphy,它可以解决您的问题。将精确的东西应用到你的文本中,这个库会为你做其余的事情。
PS:您应该使用正确的 Farsi 字体