vb.net - 将阿拉伯数字转换为十进制

标签 vb.net

我有一个数字条目Nbr,其中包含阿拉伯数字١٢٣٤٥٦

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

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

谢谢。

最佳答案

我不知道是否有更好的方法,但以下方法有效。使用 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

关于vb.net - 将阿拉伯数字转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153030/

相关文章:

c# - 加载属性延迟加载

asp.net-mvc - 服务器使用标准 asp.net mvc 发送事件(事件源)导致错误

vb.net - 如何扩展 ComboBox 以支持命令 (MVVM)?

.net - 我如何从代码段中逃脱? (Vb.Net)

c# - ASP.NET ObjectDataSource 找不到具有参数的非泛型方法

mysql - vb.net 将具有不同记录的单个数据库表中的数据库记录显示到不同的组合框

c# - .net 有免费的 printf 实现吗?

c# - 字母数字和特殊字符的正则表达式

sql-server - VB.NET 将 DataGridView 内容插入数据库

vb.net - 无法正确读取菜单项的可见属性