请教各位大侠,我在C#程序中用sqlite3保存小数,遇到小数保留位数的问题,不解.
在写sql语句时,小数都是保留的两位,但察看数据库的保存结果时,有些数字的小数位数却非常多.
截图:


如上两图,order.income参数是8.6,但保存下来却是 8.600000381469726
数据库试了decimal, float和double都是这样的现象。
而且我发现,如果数字是整数,不会有这个问题,是小数就出现这个问题。
好像和数据类型有关,整型,浮点型不一样
浮点数精度有限,你可以保存为字符串,然后读取出来自己再转换
先把这些数据转化为字符串
x.toString("F2");保留后两位小数