我尝试将一个字符串:"12,45",赋值给一个小数类型的变量时,发现赋值成功了,没有报错,但是最后得到的小数类型的变量的值为:1245。
有点奇怪,字符串中间有个逗号,应该要报错才对啊,而且这个逗号后面只有2位数字,所以这个逗号也不是代表千分位,不应该被忽略掉的。
如果字符串是:"1,245",赋值后变成:1245,逗号是千分位,那还说得通
这里的目标是输入正确的时候得到正确的结果。
输入错误的内容并不能保证输出正确的结果或必然报错。 很多时候会有些兼容性的处理。而且这种兼容性的处理有可能是底层提供的。比如你说的这个,c#本身就是这样实现的: