问题遇到的现象和发生背景
C,C++,C#小数点有关问题
问题相关代码,请勿粘贴截图
float型数取消小数点成为整数,再乘以 10,再转16 位二进制补码
例如:72.8 取消小数点成为728 再乘以 10,7280 转成16 位二进制补码1C70 步骤如何用代码实现呢?特别是取消小数点如何用代码实现?
C,C++,C#小数点有关问题
float型数取消小数点成为整数,再乘以 10,再转16 位二进制补码
例如:72.8 取消小数点成为728 再乘以 10,7280 转成16 位二进制补码1C70 步骤如何用代码实现呢?特别是取消小数点如何用代码实现?
浮点数内存中表示不是精确的,比如 float f = 72.8,内存里可能是 72.99999,转成字符串以后就不对了。除非你已字符串格式输入浮点数。
一个字符串取消小数点也太容易了,如下:
#include <string>
auto index = str1.find_first_of('.');
if(index != std::string::npos) {
// 找到了 移除小数点
str1.erase(str1.begin()+index);
}