Tag: decimalformat

Excel小数点分隔符根据区域设置performance不同

我有一个Excel中有一些小数值。 这些值是string ,由于许多国家正在使用它,有些国家使用“,”逗号作为小数位,其他国家使用“。”。 点小数位。 一旦全球所有的数据都被编译完成,来自不同地区的人们就会用macros来处理数据。 为了让人们使用相同的设置,我在macros中更改它们的decimalseparator是一样的: Application.UseSystemSeparators = False Application.DecimalSeparator = "," application.ThousandsSeparator = "." 然后我运行某些macros来将这些值加在一起,这就是问题开始的地方。 对于欧洲人来说,这个macros是完美的。 macros首先将任何点转换为逗号(注意单元格的值是一个string): If InStr(NW.Cells(ttt, 100), ".") > 0 Then x2 = Replace(NW.Cells(ttt, 100), ".", ",") NW.Cells(ttt, 100) = x2 End If 因此,如果NW.Cells(ttt,100)= 12.25将其转换为12,25,那么它会运行更多的macros(将所有值一起添加)。 但是如果一个人在美国运行这个macros,12.25就变成了1225 由于我已经在macros的开始将application.decimalsepator更改为“,”我不明白为什么macros的行为不同… 任何想法如何解决这个问题? 注意正在使用Excel 2007和Excel 2010,因此不能使用= NUM​​BERVALUE函数… 谢谢