部署 c# 后将字符串转换为浮点数时出错
本文关键字:浮点数 出错 转换 字符串 部署 | 更新日期: 2023-09-27 18:32:30
我有一个格式异常,当我想在部署C#Windows应用程序后将字符串转换为float时。
我试过了
string str1 = "12.4",
float str2 = float.parse(str1);
// it works on my computer but after deployment NOT !
当我在计算机中运行代码时,它可以正常工作,但是当我在其他计算机中运行它时,当我添加"123.4"之类的数字时,我有一个"format_exception"我尝试安装其他框架,但没有任何变化
您的计算机和服务器计算机上有不同的区域性。
用:
float number = float.Parse(str, CultureInfo.InvariantCulture);
很可能这些系统上安装了不同的区域性。
你应该试试这个:
string str1 = "12.4";
float flt1 = float.Parse(str1, CultureInfo.InvariantCulture);
它将使用 .
作为小数分隔符。
您可以通过以下方式指定其他区域性信息,例如:使用调用线程的 UI 区域性信息:Thread.CurrentThread.CurrentUICulture
float.Parse
依赖于区域性,如 msdn 所述:https://msdn.microsoft.com/en-US/library/2thct5cb%28v=vs.110%29.aspx
这取决于机器。