我有一个问题。当我解析字符串“0.005”来浮动或加倍时,它在我的计算机上工作正常,但是当我将程序安装到我的客户端计算机时,它返回5.(我的计算机和我的客户端计算机都使用Windows 7 x64) 。这里是我的例子为什么float.parse返回错误的值?
public float getFloat()
{
float mn = float.Parse("0.005");
double mn2 = Convert.ToDouble("0.005");
return mn;
}
你们是否在你的机器中使用相同的文化? '.'不是每种文化中的小数点分隔符。 **编辑:**在PT-BR中,例如,0.005 ** IS ** ** 5. – Renan
这是您有的一个有趣的瑕疵。 –
是的,问题几乎肯定是您的客户的计算机设置为使用“。”。作为千位分隔符而不是小数点,正如@Renan所暗示的那样。 –