C#类型转换

Bal*_*ala 0 c#

dr["po_amt"].ToString() = 1,936.10;
Run Code Online (Sandbox Code Playgroud)

当我尝试使用下面的代码将其转换为int32时,

Convert.ToInt32(dr["po_amt"].ToString());
Run Code Online (Sandbox Code Playgroud)

它抛出错误输入字符串格式不正确.我怎样才能做到这一点

Jon*_*eet 9

您正在尝试将"1,936.10"转换为整数.这显然不是一个整数.你应该分析它作为一个浮点数(例如用decimal.TryParse),然后申请你想以后得到一个整数,如果你确实真的任何转换需要一个整数.

(我强烈建议你使用decimal.TryParseover float.TryParse或者double.TryParse顺便说一下.显然字符串代表一个十进制数字,所以这是最合适的类型.)

转换为时decimal,您应该指定不变文化(如果您在一个区域中使用"."作为千位分隔符,","作为小数分隔符),并且明确指定数字样式不会有害,允许成千上万.