在c标签里运算int类型的数除法运算,得到的怎么是小数啊?而且强转报

在c标签里运算int类型的数除法运算,得到的怎么是小数啊?而且强转报错,怎么转成int类型啊,

你的代码有两个问题:1.由于atoi(chucun1)和atoi(chucun2)的结果都是int型,所以它们中间的"/"便是“取整除”,比如5/2的结果只会是2而不会是2.5。解决法较简单,在atoi(chucun1)前加一个"1.0*",使整个表达式成为1.0*atoi(chucun1)/atoi(chucun2)。这样,表达式中的int型变量就都会自动上升到浮点型数据参与这次运算,"/"也由“取整除”自动变成了“浮点除”,你的问题就解决了。2._itoa这个函数是把int型变量转换为字符串的,它不能胜任把浮点数转换成字符串,要用gcvt()函数。把_itoa(deshu2,deshu3,10)一句改为gcvt(deshu2,10,deshu3)就可以把浮点数deshu2变为字符串存入以deshu3为指针的内存中。中间的那个10不是进制,是转换后的十进制数的长度,你可根据需要填写。gcvt函数的形参与代码中的变量类型可能不一致,要注意调整一下……供参考。
温馨提示:答案为网友推荐,仅供参考
相似回答