将字符串转换为float

时间:2013-11-29 12:46:07

标签: c# type-conversion

我有一个这种格式的字符串:"123.46.789-01"。我必须将它转换为浮动,我这样做:float.parse(stringVariable.Replace(".", "").Replace("-", ""))其中stringVariable是具有上述值的字符串。

此演员表生成了错误的演员值,1.141085E+10

我尝试过许多其他方式转换,例如Convert.ToSingle,但没有成功。你们可以帮助我吗?我想知道这种数字是否适合浮点数据类型......

提前致谢!

3 个答案:

答案 0 :(得分:2)

使用浮动有很多问题。我倾向于使用双打,它做同样的事情(?)

当我跑步时:

var inputString = "123.46.789-01";
var strippedString = inputString.Replace(".", "").Replace("-", "");
float floatValue = float.Parse(strippedString);

我得到了值1,234679E+09,这是显示1234678901的替代方式。

通过在代码中添加以下行来确认:

double doubleValue = Convert.ToDouble(floatValue);

你会得到1234678901

答案 1 :(得分:1)

这对我有用,而且更通用(因为我删除了所有非数字):

float result = float.Parse(Regex.Replace(str, "[^0-9]", ""));

答案 2 :(得分:1)

试试这个!我的输出 1234678901

string cpf = "123.46.789-01";
decimal result= decimal.Parse(Regex.Replace(cpf, "[^0-9]", ""), System.Globalization.NumberStyles.Any);