关于一个float类型数据问题
本帖最后由 光阴时钟 于 2017-5-5 22:52 编辑想请教一下各位大神,一个float类型数据在keil c中保留几位小数点?只想要前四位小数,如何去除我不想要的小数呢? 由float的有效位数决定,有效数字是7位。你可以sprintf函数强制取四位数字。也可以乘以10000取整然后除以10000. xyz549040622 发表于 2017-5-5 23:04
由float的有效位数决定,有效数字是7位。你可以sprintf函数强制取四位数字。也可以乘以10000取整然后除以10 ...
sprintf不行吧?这不是把他数据转成字符串吗 光阴时钟 发表于 2017-5-7 12:54
sprintf不行吧?这不是把他数据转成字符串吗
对,转成字符串,减去0x30不就是数字了吗{:lol:} 乘以10000,加上0.5,转换成整数。在c#中有decimal,是x*10^y,而不是这种x*2^y。 round和floor函数也可以,math.h 里面有一些函数。 xyz549040622 发表于 2017-5-5 23:04
由float的有效位数决定,有效数字是7位。你可以sprintf函数强制取四位数字。也可以乘以10000取整然后除以10 ...
没用。乘以1000,除以1000,又变成9位数,它会强行补全 先减掉整数部分,然后*1000,取整
页:
[1]