刚学习c#,在测试一个实例时出现下面的错误:int nbalance = int.Parse(strBalance);其中strBalance的值是:4800.0000然后用:int nbalance = Convert.ToInt32(strBalance);也是一样的错误:System.FormatException: 输入字符串的格式不正确。请问究竟为什么说是格式不正确呢?
调试欢乐多
==
Decimal nbalance = decimal.Parse(strBalance);
string strBalance=ds.Tables["account"].Rows[0]["balance"].ToString(); strBalance来自于SQL SERVER的数据表的balance字段的数据,balance的字段类型是money 所以strBalance的值是"4800.0000" 现在看来是我的这个实例的数据类型选择错误了。 请问在C#中的数据类型,对应于SQL SERVER的money数据类型,应该用哪一种呢? 是decimal吗?
==
是
这次给我两个感受:1、选择数据类型要小心,有时候书上给的例子未必都是正确的,应该根据对应的规则选择,如money应该对应decimal,虽然实际用到都是整数。2、不是很理解为何从SQL SERVER数据读取的数据,为何不能直接使用,而是那么麻烦,先转成字符,然后再转为实际使用的数据类型,对于从别的编程语言转过来人一下子是比较难理解的。
可以通过重载运算符decimal或者int,让其支持money类型
你要是从c/c++转过来绝对不会有这样的疑惑。
还是抓抓基础知识吧。
估计你看的书,是国人自己写的,用来骗钱的那种,自己都没调试过程序。
呵呵,不好意思,刚接触C#,LINQ还没有了解过。