当我尝试在实际设备上将字符串解析为float时,它成功了,但是在模拟器上失败了。 两者都在iOS 13.1上。 例如,在实际设备上,“ 81,5”被转换为81.5,而在模拟器上则被转换为815
public static float StrToFloatDef(string value, float defValue)
{
value = value.Replace('.', ',');
float floatValue;
if (float.TryParse(value.Trim(), out floatValue) == false)
floatValue = defValue;
return floatValue;
}
答案 0 :(得分:0)
你是对的杰森。
我强制使用逗号作为分隔符,现在它可以正常工作了
float.TryParse(value.Trim(), NumberStyles.Any, new NumberFormatInfo() { NumberDecimalSeparator = "," }, out floatValue)
答案 1 :(得分:0)
您可能没有将两个设备设置为相同的本地化。 有些使用句点作为小数点分隔符,有些使用逗号。
float.Parse(value, CultureInfo.InvariantCulture.NumberFormat);