将米转换为英尺到英寸c ++?
Posted
技术标签:
【中文标题】将米转换为英尺到英寸c ++?【英文标题】:Convert meters to feet to inches c++? 【发布时间】:2013-11-12 05:45:28 【问题描述】:我不知道如何得到英寸,它只适用于脚而不是英寸
这是应该将米转换为英尺到英寸的代码部分
输出的一个例子应该是:
输入米数作为双精度数:15
15.00 米的值是 49 英尺和 2.55 英寸。
//
//METERS_PER_FOOT=0.3048
//INCHES_PER_FOOT=12.0
//makes conversion from metric to English units
void convert(int& feet, double& inches, double meters)
feet=meters/METERS_PER_FOOT;
inches=feet/INCHES_PER_FOOT; //this line should give me inches
【问题讨论】:
请出示您的 cout 声明。我的猜测是您应该在 cout 语句中从英寸中删除“”。另外,我认为你应该乘以 INCHES_PER_FOOT,而不是除以。 你可以直接转换。 temp = 39.37007874016 * 米 转换为英寸后,使用 mod 获取英寸,然后使用 temp - 英寸获取英尺。 另外,为什么METERS_PER_FOOT
和INCHES_PER_FOOT
的定义被注释掉了?在你的计算中,其中之一不是倒过来的吗?您使用meters / METERS_PER_FOOT
从米到英尺,然后使用feet / INCHES_PER_FOOT
从英尺到英寸。第二个不应该是FEET_PER_INCH
吗? (或者乘以INCHES_PER_FOOT
而不是除以?)
这个问题似乎跑题了,因为它是关于基础数学的
【参考方案1】:
你需要乘而不是除。
有12英寸/英尺。将英尺除以英寸/英尺得到英尺^2/英寸,这有点奇怪。
你的代码应该读
inches=feet*INCHES_PER_FOOT;
请注意,您有(米)/(米/英尺)但有(英尺)/(英寸/英尺),这就是为什么一个有效而另一个无效的原因。
【讨论】:
【参考方案2】:如果您希望将米转换为英尺,将米转换为英寸,那么 使用
feet=meters/METER_PER_FOOT;
inches=feet*INCHES_PER_FOOT; this will convert feet to inches
如果您只想用英尺和英寸来表示米 使用
feet=floor(meters/METER_PER_FOOT);
inches=floor(meters/INCHES_PER_METER)-feet*INCHES_PER_FOOT;
cout << meters << "Meters=" << feet<<"feet"<<inches<<"inches";
【讨论】:
【参考方案3】:对于未来,尽量让它们都具有相同的类型,因为在依赖自动类型转换时可能会失去一些价值。
【讨论】:
以上是关于将米转换为英尺到英寸c ++?的主要内容,如果未能解决你的问题,请参考以下文章
WDK:将 PVOID 转换为 PWCHAR(C 到 C++ 转换)
C语言 已知一个从1970到现在的毫秒数,如何将这个毫秒转换为具体的日期时间?