将米转换为英尺到英寸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_FOOTINCHES_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到现在的毫秒数,如何将这个毫秒转换为具体的日期时间?

String.Encoding 没有在 swift 3 中转换为 NSStringEncoding 到目标 C 转换

c用法中的jstring到char *未转换为可打印格式

警告:从/到不同大小的整数转换为/从指针转换

整数到 const c++, c