我有这段代码:
void FeetInches::decimal()
{
if (inches == 6.0)
{
inches = 5;
std::cout << feet << "." << inches << " feet"; //not the best but works..
}
}
这将打印12英尺6英寸,12.5英尺的东西。我宁愿不使用这种“hackish”方法,并使其像这样:
void FeetInches::decimal()
{
if (inches == 6.0)
{
inches = .5;
std::cout << feet << inches << " feet"; //not the best but works..
}
}
但这将打印60.5英寸(我需要6.5英寸)。基本上如果我单独打印英寸它打印0.5。我想要英寸只打印.5没有零。不能用printf方法或其他快速技术实现这个吗?
的方式是数据类型加倍答案 0 :(得分:8)
如何首先将英寸转换为英尺:
feet = feet + inches / 12.0;
现在打印出结果。或者,如果您不想更改feet
变量,请直接在cout
语句中进行计算,或使用临时变量进行计算。