C++中如何在不使用强制转换的情况下把浮点数改为自然数?
就好象达到以下效果一样。
float fValue = 9.7f
float newValue = static_cast <float> (static_cast <int> (fValue));
[解决办法]
转换成2进制操作
[解决办法]
这么复杂?
[解决办法]
楼主那样最后还不是个float?计算机表示的依然不仅仅是一个整型的9
[解决办法]
float n=floor(f)
[解决办法]
什么啊,难道楼主不是这个意思吗?
float fValue = 9.7f
unsigned int newValue =fValue;//直接赋值newValue不就得到9了么!
[解决办法]
学习,看样子floor是正解,不然就转成字符,截断后转回来。
[解决办法]
不能转换。两个底层表示都不一样,相同的二进制串,对于float和对于int的值是完全不一样的。