问题

今天遇到一个问题,在运行下面代码的时候,始终出现Input string was not in a correct format.错误。这么简单的一句话怎么会报错呢,实在想不通,查了半天没找到原因。

string number="237.99";

float result = Convert.ToSingle(number);

 

问题原因

后来找到下面这篇帖子,发现可能和环境有关。还真的是,有些语言环境,浮点数的格式是不一样的,就会导致转换失败。

https://stackoverflow.com/questions/53695954/c-sharp-convert-todouble-input-string-was-not-in-a-correct-format-in-windows-ser

 

解决方案

在转换的时候加一个参数CultureInfo.InvariantCulture就行了,这个参数意思是不考虑语言环境。问题解决。

string number="237.99";

float result = Convert.ToSingle(number, CultureInfo.InvariantCulture);

 

 

转载请注明出处: http://bluesd7.com/蓝影闪电的随笔/ContentId/415/C#-Convert-ToSingle-Convert-ToDouble-Input-string-was-not-in-a-correct-format-

 

评论数量 (0)

    留下一个评论

    剩余2000个字符。 一共限制在2000个字符内.
    发送评论

    搜索

    关于我

    姓名:余钊

    英文名:Joshua

    现居:武汉

    Email: yuzhao_blue@163.com

    关注:架构, 全栈, SQL, 高性能, 高并发

    日历