怎么保证计算过后小数存入数据库之后精度无损?

无限循环的小数存入数据库的时候有精度丢失,获取出来之后与之前的数据对不上,比如说我要保存3条1/3的无限小数数据,然后获取出来的时候能保证这3条数据的相加结果能等于1,怎么有效解决.?

明月笑刀无情
浏览 832回答 3
3回答

紫衣仙女

用长文本类型来保存mysql中的 LONGTEXT 最大长度为4,294,967,295个字符 应该够用了吧其他数据库也有类似对应的长文本类型update 分数你直接用字符串来存就好了比如1/3,然后取出运算还原结果

尚方宝剑之说

可以使用字符串来保存

万千封印

浮点数加减的问题你是无法避免的,你只能保证你写入的数值和读出的数值上的一致;数据库字段才用二进制格式,直接写入原始float值的二进制字节数值;读出后采用该二进制数值恢复到float类型浮点数加减部分无解,你只能提高float的精度,采用double等类型;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java