当前位置: 首页 > 知识库问答 >
问题:

TextView以波斯语字体显示的英文数字

金嘉言
2023-03-14

我正在将一个包含一些数字(全部用波斯语)的字符串加载到android文本视图中。一切都很好,直到我改变了我的自定义字体,文本的数字显示为英文数字。

Expected : ۱۲۳۴
Received : 1234

我知道我的新字体支持波斯语数字。当我使用正确显示的数字下方的代码更改数字区域设置时。

NumberFormat numberFormat = NumberFormat.getInstance(new Locale("fa", "IR"));
String newNumber = numberFormat.format(number);

问题是我有一个字符串,很难找到数字部分并改变它。我以前的字体工作正常,我不明白这个字体有什么问题。

你知道如何全局解决所有文本视图,或者至少一个字符串的问题吗?

共有3个答案

翟冷勋
2023-03-14

使用此代码以波斯数字显示Hegira日期:

    String farsiDate = "1398/11/3";
    farsiDate = farsiDate
            .replace('0', '٠')
            .replace('1', '١')
            .replace('2', '٢')
            .replace('3', '٣')
            .replace('4', '٤')
            .replace('5', '٥')
            .replace('6', '٦')
            .replace('7', '٧')
            .replace('8', '٨')
            .replace('9', '٩');
    dateText.setText(farsiDate);
周涵畅
2023-03-14

你可以用这个

 String NumberString = String.format("%d", NumberInteger);

123将成为£££

郏扬
2023-03-14

尝试使用以下方法:

private String setPersianNumbers(String str) {
    return str
            .replace("0", "۰")
            .replace("1", "۱")
            .replace("2", "۲")
            .replace("3", "۳")
            .replace("4", "۴")
            .replace("5", "۵")
            .replace("6", "۶")
            .replace("7", "۷")
            .replace("8", "۸")
            .replace("9", "۹");
}
 类似资料:
  • 我使用下面的代码强制我的textview以英文数字显示其文本数字:

  • 如何在静态编程语言中将波斯语/阿拉伯语数字转换为英语?我在java中看到过类似的问题,但它不符合我的要求。当我在使用波斯本地化数字的设备中获得日期时,波斯和服务器不能将此字符串转换为日期时间。这里是我在波斯本地化设备中收到的日期: "۲۰۲۰/۰۸/۲۱" 这些是波斯/阿拉伯数字 (۰ - 我需要在科特林玩一玩来表演这个。

  • 我试图在m文本视图中呈现希伯来文文本。 我在这里读到,我需要将默认android的字体更改为支持希伯来语的字体。 我尝试了几个解决方案,但都没有成功: 或: 这是我的xml: 有没有办法解决这个问题? 有没有办法为每个应用程序定义默认字体?per Layout?

  • 问题内容: 我有一个形式的edittext,当用户将文本输入到edittext中时,我希望程序可以检测到哪种语言插入了edittext。 有没有办法确定字符串是英语还是波斯语? 我找到了这个阿拉伯语代码 但是如何更改波斯语的此代码? 问题答案: 波斯语(也适用于乌尔都语)字母的所有可能的Unicode范围: 0x0600至0x06FF 0xFB50至0xFDFF 0xFE70至0xFEFF 因此,

  • 我创建了一个javafx应用程序,使用javafx scene builder来设计它的界面,当我试图显示一些波斯语或阿拉伯语字符时scene builder以无序模式显示它,例如,当我将一个标签的文本改为一个波斯语或阿拉伯语单词“”它正在无序模式下(从左到右)写作“”(字符之间没有任何空格)。我想javafx场景构建器可能不支持波斯语或阿拉伯语,但我知道应该有一些方法,所以请帮助我怎么做。 注意

  • 在基于web的应用程序中,我们希望更改fa_IR区域设置中的数字格式。(波斯语和阿拉伯语数字的Unicode不同于拉丁语数字)。java不支持此特性(对于基于swing的应用程序,可以使用形状数字http://docs.oracle.com/javase/tutorial/i18n/text/shapeddigits.html) 无论如何,这个格式化程序将用unicode波斯语数字替换ASCII数