转换为十进制阿拉伯数字

时间:2015-01-26 15:18:56

标签: vb.net

我有一个包含阿拉伯数字Nbr

的数字条目١٢٣٤٥٦

我的问题是当我尝试使用Convert.ToDecimal(Nbr)时,我收到一条通知,说输入格式错误(不支持)。

我是否可以使用任何解决方案来绕过此问题而不将Nbr从阿拉伯语转换为标准数字(12345)

谢谢。

1 个答案:

答案 0 :(得分:3)

我不知道是否有更好的方法,但后续工作。将阿拉伯数字与Char.GetNumericValue转换为罗马数字:

Dim arabicNumber = "١٢٣٤٥٦"
Dim romanNumber = From c In arabicNumber Select Char.GetNumericValue(c)
Dim number = string.Concat(romanNumber)

现在您可以使用Decimal.Parse

Dim d As Decimal = Decimal.Parse(number)

字符串١٢٣٤٥٦的结果为123456