最近的新工作,并从客户那里收到有关软件错误的问题。错误是“从字符串 '0.5' 到类型 'double' 的转换无效。”
我相信我已经找到了违规的路线。因为客户在法国并且他的计算机设置都是法语(编号系统,语言,......),所以“0.5”不能转换为“0,5”的法语数字版本法语系统没有小数他们人数的任何地方。因此,如果 string.format 看到“0.5”,它将不知道该怎么做,因为没有 '.' 在法国文化环境中被塑造成双倍的角色。我在这里吗?
context.Append(String.Format("{0} {1} exceeds fine {2} limit of {3:N0}", _
context.OccupancyState, context.Size, _
Reg.Alert.ToLower, context.Limit))
其中 context.Size 保存“0.5”字符串。
format.string 是否考虑了文化设置,还是我在这里遗漏了什么?
编辑:
刚刚在法语 Windows VM 上尝试过,并且(不幸的是)它能够成功地将其解析为“0,5”......所以也许这不是问题?