如何正确将float转换成money值?
由于系统最初设计失误,将用来保存货币值的字段类型设置成了float类型(长度为8),现导致部分记录出现小数位数达到16位,如单价:16.1变成了16.100000000000001。
现在计划对系统进行修正:
1、将float类型修改成money类型,
2、原来以非正确方式的扣款记录全部进行修正,如按单价16.100000000000001进行扣款的要修正成按16.1进行扣款。
查现在很难把16.100000000000001的最后一位1转换出来。
[解决办法]
或你需要几位就改为几位.
cast(字段 as decimal(18,N))