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)
它抛出错误输入字符串格式不正确.我怎样才能做到这一点
您正在尝试将"1,936.10"转换为整数.这显然不是一个整数.你应该分析它作为一个浮点数(例如用decimal.TryParse),然后申请你想以后得到一个整数,如果你确实真的任何转换也需要一个整数.
(我强烈建议你使用decimal.TryParseover float.TryParse或者double.TryParse顺便说一下.显然字符串代表一个十进制数字,所以这是最合适的类型.)
转换为时decimal,您应该指定不变文化(如果您在一个区域中使用"."作为千位分隔符,","作为小数分隔符),并且明确指定数字样式不会有害,允许成千上万.