我有一个这种格式的字符串:"123.46.789-01"
。我必须将它转换为浮动,我这样做:float.parse(stringVariable.Replace(".", "").Replace("-", ""))
其中stringVariable
是具有上述值的字符串。
此演员表生成了错误的演员值,1.141085E+10
。
我尝试过许多其他方式转换,例如Convert.ToSingle
,但没有成功。你们可以帮助我吗?我想知道这种数字是否适合浮点数据类型......
提前致谢!
答案 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);