标题: keil中想用非函数方法取运算值小数点后一位,结果报错,有大佬解释一下吗 [打印本页]

作者: 霍礼林    时间: 2018-10-21 11:32
标题: keil中想用非函数方法取运算值小数点后一位,结果报错,有大佬解释一下吗
函数方法取运算值小数点后一位方法:
                 speed=a/3.75; //速度speed 带小数1.44
                 b=speed*10%10;  //(d=1.44*10%10)
                                               //      14.4%10=4
                //uint a,b,c,d,e,f,num;
                //double speed,zong,m1,m2;
                       
                zong+=a;   
                zong=zong/450;//带小数
                c=zong*10%10;//小数点后一位


结果报错:error C193: '': bad operand type

K1GNH@IECV9)(HIREEJ~BKO.png (19.67 KB, 下载次数: 34)

K1GNH@IECV9)(HIREEJ~BKO.png

作者: psuxaog    时间: 2018-10-21 11:55
看一下42行是不是有不显的非法字符,可以把没用的东西都拿到试一下,例如:把输入法调到全角模式,输入空格就占两字符位置了,此时的编码不属于ASCII,所以编译器会出错,因为是空格,固肉眼不容易察觉建议把//前面的空格都去掉试一下
作者: greatboy    时间: 2018-10-21 13:12
浮点数不能做 % 模运算吧。
作者: 3034    时间: 2018-10-21 13:33
看一下42行是不是有不显的非法字符,可以把没用的东西都拿到试一下,例如:把输入法调到全角模式,输入空格就占两字符位置了,此时的编码不属于ASCII,所以编译器会出错,因为是空格,固肉眼不容易察觉建议把//前面的空格都去掉试一下
作者: 小猫猫爱吃鱼    时间: 2018-10-21 16:33
在 speed 前面,加上类型转换,再试试
作者: 霍礼林    时间: 2018-10-21 22:09
greatboy 发表于 2018-10-21 13:12 | 只看该作者 浮点数不能做 % 模运算吧。
作者: 霍礼林    时间: 2018-10-21 22:11
greatboy 发表于 2018-10-21 13:12              浮点数不能做 % 模运算吧。
作者: zailushang316    时间: 2018-10-22 15:36
你可以浮点数乘以10,然后int取整,再做除以10取余数,就分离出一位了,其他的类推。
作者: wq7788727    时间: 2018-10-22 16:35
浮点型,先乘10用int取整慢慢分离就行了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1