C#中的decimal数据类型为什么不能直接赋值?

如题所述

不是不能直接赋值,而是写法的问题,直接写
3.14
编译器会认为这是一个双精度数而非decimal,而从double到decimal是不可以隐式转换的,所以会报错,后面加上了M以后就表示这是告诉编译器这就是个decimal,所以可以直接赋值。
至于为什么双精度型(double)到实数(decimal)不可隐式转换,是因为后者精度更高,但是其数值表示范围反倒不如前者大。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-13
convert.todecimal
支持string
转decimal

应该是你spedprice.text
的格式不对.
至少应该是d.d格式
而且不能有空格
传进来
先应该用正则判断下是否为数字.
相似回答