Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Kotlin中将波斯语/阿拉伯语数字转换为英语数字?_Android_Kotlin - Fatal编程技术网

Android 如何在Kotlin中将波斯语/阿拉伯语数字转换为英语数字?

Android 如何在Kotlin中将波斯语/阿拉伯语数字转换为英语数字?,android,kotlin,Android,Kotlin,如何在Kotlin中将波斯语/阿拉伯语数字转换为英语?我想将日期作为字符串传递给web服务。当我在使用波斯语本地化数字的设备中获取日期时,这些设备是波斯语的,服务器无法将此字符串转换为DateTime。所以我需要把所有数字转换成英语。 以下是我在带有波斯语本地化的设备中收到的日期: “۲۰۰/۰۸/۲۱” 这些是波斯/阿拉伯数字 (۰->0)(۱->1)(۲->2)(۳->3)(۴->4)(۵->5)(۶->6)(۷->7)(۸->8)(۹->9) 我需要一个有趣的Kotlin来执行此操作。您可

如何在Kotlin中将波斯语/阿拉伯语数字转换为英语?我想将日期作为字符串传递给web服务。当我在使用波斯语本地化数字的设备中获取日期时,这些设备是波斯语的,服务器无法将此字符串转换为DateTime。所以我需要把所有数字转换成英语。 以下是我在带有波斯语本地化的设备中收到的日期:

“۲۰۰/۰۸/۲۱”

这些是波斯/阿拉伯数字

(۰->0)(۱->1)(۲->2)(۳->3)(۴->4)(۵->5)(۶->6)(۷->7)(۸->8)(۹->9)


我需要一个有趣的Kotlin来执行此操作。

您可以使用NumberFormat,提供适当的区域设置

//explode date by slash character
var delimiter = "/"
val parts = yourDate.split(delimiter) 

// then you check every element in parts array

NumberFormat nf = NumberFormat.getInstance(Locale.ENGLISH);
...
for (int i = 0; i < a.length; ++i) {
    output.println(nf.format(myNumber[i]) + "; ");
}

//按斜杠字符分解日期
var delimiter=“/”
val parts=yourDate.split(分隔符)
//然后检查parts数组中的每个元素
NumberFormat nf=NumberFormat.getInstance(Locale.ENGLISH);
...
对于(int i=0;i

参考:,

下面的函数最终解决了我的问题:

fun PersianToEnglish(persianStr: String):String {
            var result = ""
            var en = '0'
            for (ch in persianStr) {
                en = ch
                when (ch) {
                    '۰' -> en = '0'
                    '۱' -> en = '1'
                    '۲' -> en = '2'
                    '۳' -> en = '3'
                    '۴' -> en = '4'
                    '۵' -> en = '5'
                    '۶' -> en = '6'
                    '۷' -> en = '7'
                    '۸' -> en = '8'
                    '۹' -> en = '9'
                }
                result = "${result}$en"
            }
            return result
        }

这回答了你的问题吗?或者事实上。。。这是一个XY问题。。。您应该使用英语区域设置而不是默认设置来格式化日期。。。为什么会有这么多选票?@Selvin,正如我在问题中提到的,我用的是科特林语。没关系。。。在kotlin中,我们可以使用java的libraries@Selvin你是对的,但我需要Kotlin的代码。