区域设置小数分隔符在VB.net和ArcGis 10.1中不起作用

时间:2013-07-11 19:26:36

标签: vb.net decimal arcgis separator

我正在开发一个与ArcGis ArcMap 10和10.1一起使用的应用程序。我的应用程序是我添加到Arcmap的dll(它是一个工具栏)。当我在我的机器上进行调试时,它运行正常(Windows server 2003和ArcGis 10)。但是在使用ArcGis 10.1的Windows服务器2008的另一台计算机上,将double值转换为字符串时,小数点分隔符将变为逗号(,)而不是点(。)。如果我将双变量转换为字符串,使用cstr(变量)或text = variable或text = variable.tostring,我总是得到一个逗号而不是一个点。

两台机器上的区域设置都是正确的。我尝试使用以下代码设置文化,我得到一个“实例是只读”错误。但我没有在ArcGis 10机器上出现此错误。

My.Application.Culture.NumberFormat.NumberDecimalSeparator = "."
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol = "."

奇怪的是,当我在ArcGis 10.1中查看数字时,分隔符就是重点。所以问题似乎在我的应用程序DLL中。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

尝试以下代码

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Application.CurrentCulture = New CultureInfo("EN-US")
End Sub