【发布时间】:2020-05-04 09:28:11
【问题描述】:
我有一个存储一些值的向量,以及一个带有一些方法的 Weather 类。其中一种方法是使用 stof 将字符串转换为浮点数,然后对该新值进行计算并返回它。我看到 stof 适用于我的一个不属于某个类的自变量,但是当我调用这个对内部传递的字符串执行 stof 并在计算后返回该浮点值的方法时,它返回一个 0。有人可以解释一下这是为什么呢?
Main.cpp:
cout << "Before converting: " << solar1 << '\n';
windlog2.solar.SetSolar(solar1);
cout << "After converting: " << windlog2.solar.GetSolar() << '\n';
天气.cpp:
float Weather::convertSolar(string solar1){
float newValue = 0;
newValue = stof(solar1);
newValue = ((newValue)*(1/6))/1000;
solar = newValue;
return solar;
}
在我的 cout 语句中,Before Converting 的值与我使用的字符串相同,After Converting 的值都是 0。
【问题讨论】:
-
这可能是简化问题的产物,但该表达式可以更简单地写为
newValue/6000。